2010-10-19 3 views
1

Я использую этот код, чтобы пользователь не набирал специальные символы.запрещает пользователю вводить неанглийские символы

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

Как я могу изменить его, чтобы пользователи не вводили неанглийские слова? (Только апостроф и & будут приниматься в качестве специального полукокса)

+8

Meu Deus. Не забудьте собрать свою Нобелевскую премию, когда закончите с этой задачей :) –

+0

получил мой приз, и я счастлив, не так ли? –

+2

@ Ahmet Voce sabe detectar os palavras nas outras línguas? Verdade? :) –

ответ

1

Попробуйте использовать это регулярное выражение:

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

Я вижу, что вы отметили это как правильный ответ, поэтому вам все равно, что неанглийские слова не разрешены. Вас интересуют неанглийские символы. Пожалуйста, обновите название своего вопроса, чтобы его отразить. И это регулярное выражение не будет выполнено для чисел и заглавных букв. То, что у вас было, было более изящным, просто нужно было два дополнительных символа:/^ [\ w \ s & '] * $/ –

+0

Ой, правда, я забыл '/ i' заглавными буквами. – Nakilon

+0

@Juan вы правы –

1

Вы можете попробовать использовать что-то вроде этого: http://code.google.com/apis/ajaxlanguage/documentation/#Detect

Это немного более сложным, если вы просто хотите использовать регулярные выражения для обнаружения латинских символов, но он будет гарантировать, что это на самом деле английский.

4

Enforcing английский язык с помощью регулярного выражения? Это довольно наивный подход, и я не уверен, что вы захотите включить его в свое резюме, даже если бы вы справились с этим. Я даже не уверен, что я похвастаюсь этим в соседнем кафе.

Верьте или нет, есть много английских слов (слов, которые были полностью включены в английский лексикон), которые правильно написаны символами, которые не соответствуют /[a-z]/gi.

Смежные вопросы