只允许字母和空格验证jquery

时间:2013-10-25 14:17:17

标签: php jquery jquery-validate alphanumeric

我有这段代码:

$(document).ready(function(){
        jQuery.validator.addMethod("lettersonly", function(value, element) {
            return this.optional(element) || /^[a-z]+$/i.test(value);
        }, "Only alphabetical characters"); 

但如果我插入一个像“Mary Jane”这样的双重名称,那么这个空间就会产生问题。我怎么能在我的规则中允许空格?

3 个答案:

答案 0 :(得分:8)

您需要将空白字符(\s)添加到正则表达式:

jQuery.validator.addMethod("lettersonly", function(value, element) {
    return this.optional(element) || /^[a-z\s]+$/i.test(value);
}, "Only alphabetical characters"); 

答案 1 :(得分:2)

jQuery.validator.addMethod("lettersonly", function(value, element) {
return this.optional(element) || /^[a-z\s]+$/i.test(value);
}, "Only alphabetical characters");

$('#yourform').validate({
            rules: {
                name_field: {
                    lettersonly: true
                }
}
        });

答案 2 :(得分:1)

^\S\n

将其添加到方括号

之间

这是一个双重否定,检查not-not-whitespace或not-newline。

它只会检查空白,但不会检查换行符。 您的测试应该如下所示:

/^[a-z^\S\n]+$/i.test(value)

来源: @Greg Bacon's answer

编辑:您可能还希望为大写字母添加A-Z