我有这个代码:
$(document).ready(function(){
jQuery.validator.addMethod("lettersonly", function(value, element) {
return this.optional(element) || /^[a-z]+$/i.test(value);
}, "Only alphabetical characters");
但是,如果我插入像"Mary Jane"这样的双重名称,则空格会产生问题。 如何在规则中也允许空格?
您需要将空格字符 ( s
) 添加到正则表达式中:
jQuery.validator.addMethod("lettersonly", function(value, element) {
return this.optional(element) || /^[a-zs]+$/i.test(value);
}, "Only alphabetical characters");
jQuery.validator.addMethod("lettersonly", function(value, element) {
return this.optional(element) || /^[a-zs]+$/i.test(value);
}, "Only alphabetical characters");
和
$('#yourform').validate({
rules: {
name_field: {
lettersonly: true
}
}
});
^Sn
将其添加到方括号之间
这是一个双重否定,用于检查非空格或非换行符。
它只会检查空格,而不检查换行符。您的测试应如下所示:
/^[a-z^Sn]+$/i.test(value)
来源:培根@Greg答案
编辑:您可能还想为大写字母添加A-Z