只允许字母和空格验证jquery

问题描述 投票:5回答:3

我有这个代码:

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

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

php jquery jquery-validate alphanumeric
3个回答
8
投票

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

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

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
                }
}
        });

1
投票

^\S\n

将其添加到方括号之间

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

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

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

资料来源:@Greg Bacon's answer

编辑:你可能想要添加A-Z大写字母

© www.soinside.com 2019 - 2024. All rights reserved.