我有这段代码:
$(document).ready(function(){
jQuery.validator.addMethod("lettersonly", function(value, element) {
return this.optional(element) || /^[a-z]+$/i.test(value);
}, "Only alphabetical characters");
但如果我插入一个像“Mary Jane”这样的双重名称,那么这个空间就会产生问题。我怎么能在我的规则中允许空格?
答案 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)
编辑:您可能还希望为大写字母添加A-Z