2010-10-19 50 views
1

我正在使用這一個來防止用戶鍵入特殊字符。阻止用戶鍵入非英文字符

String.prototype.isText = function() {return /^[\w\s]*$/.test(this)} 

我該如何改變它以防止用戶鍵入非英語單詞? (只有單引號和&將被接納爲特殊字符)

+8

Meu Deus。不要忘記收集你的諾貝爾獎,當你完成這項任務:) – 2010-10-19 23:15:22

+0

得到我的獎品,我很高興,是嗎? – 2010-10-19 23:29:11

+2

@Ahmet Voce sabe detectar os palavras nas outraslínguas? Verdade? :) – 2010-10-19 23:38:55

回答

1

嘗試使用這個正則表達式:

/^[a-z\s'&]*$/i 
+2

我看到你把這個標記爲正確的答案,所以你並不在意非英文單詞不被允許。你所關心的是非英文字符。請更新您的問題的標題以反映它。這個正則表達式在數字和大寫字母上都會失敗。你有什麼更優雅的,只需要兩個額外的字符:/^[\ w \ s&'] * $/ – 2010-10-20 00:01:37

+0

哎呀,真的,我忘了大寫字母'/ i'。 – Nakilon 2010-10-20 00:05:25

+0

@Juan你是對的 – 2010-10-20 10:56:21

4

用正則表達式強制英語嗎?這是一種相當天真的做法,即使您管理它,我也不確定您是否希望將其包含在簡歷中。我甚至不確定我會在附近的咖啡廳吹噓它。

相信與否,有很多英文單詞(已完全納入英語詞典的單詞)正確拼寫與/[a-z]/gi不匹配的字符。