2012-04-04 2 views
0

Я проверяю текстовое поле, чтобы разрешать только буквы и пробелы.Разрешить только буквы и пробелы - плагин проверки правильности jQuery

Это метод я использую:

jQuery.validator.addMethod("lettersonly", function(value, element) { 
    return this.optional(element) || /^[a-z]+$/i.test(value); 
}, "Please enter only letters"); 

Но регулярное выражение не позволяет пробелы между словами.

Я пробовал: /^[a-z ]+$/i.test(value) и /^[a-z\s]+$/i.test(value)

JQuery версия - 1.7.1

ответ

9

Регулярное выражение:

^[a-z\s]*$ 

LIVE DEMO

+0

Вам нужно '' ', если они находятся в классе символов? Я думал, что это была точка класса персонажа. – jbabey

+0

@jbabey. Вы правы, не заметили! исправлено, спасибо! – gdoron

+0

Проблема с такими выражениями заключается в том, что '[]' классы не обязательно подразумевают, что все символы фактически используются. Например, вышесказанное примет строку, состоящую из 100 строк новой строки. Я не уверен, что это действительно означает OP. – georg

0
jQuery.validator.addMethod("lettersonly", function(value, element) { 
    return this.optional(element) || /^[a-zA-Z\s]*$/.test(value); 
},"Please enter only letters"); 

repla се это: /^[a-z\s]+$/i

на это: /^[a-zA-Z\s]*$/

Я проверил это работает.

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