5

我有这个代码:

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

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

4

3 回答 3

8

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

jQuery.validator.addMethod("lettersonly", function(value, element) {
    return this.optional(element) || /^[a-z\s]+$/i.test(value);
}, "Only alphabetical characters"); 
于 2013-10-25T14:21:22.547 回答
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
                }
}
        });
于 2016-07-12T10:34:05.283 回答
1

^\S\n

将此添加到您的方括号之间

这是检查非非空白或非换行符的双重否定。

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

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

资料来源: @Greg Bacon 的回答

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

于 2013-10-25T14:26:05.680 回答