我有这个代码:
$(document).ready(function(){
jQuery.validator.addMethod("lettersonly", function(value, element) {
return this.optional(element) || /^[a-z]+$/i.test(value);
}, "Only alphabetical characters");
但是,如果我插入一个像“玛丽珍”这样的双重名称,那么空间就会产生问题。我怎么能在我的规则中允许空格?
您需要将空白字符(\s
)添加到正则表达式:
jQuery.validator.addMethod("lettersonly", function(value, element) {
return this.optional(element) || /^[a-z\s]+$/i.test(value);
}, "Only alphabetical characters");
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
}
}
});
^\S\n
将其添加到方括号之间
这是一个双重否定,检查not-not-whitespace或not-newline。
它只会检查空格,而不是换行符。您的测试应如下所示:
/^[a-z^\S\n]+$/i.test(value)
资料来源:@Greg Bacon's answer
编辑:你可能想要添加A-Z
大写字母