【问题标题】:allow only letters and spaces validate jquery只允许字母和空格验证 jquery
【发布时间】:2013-11-04 17:14:36
【问题描述】:
我有这个代码:
$(document).ready(function(){
jQuery.validator.addMethod("lettersonly", function(value, element) {
return this.optional(element) || /^[a-z]+$/i.test(value);
}, "Only alphabetical characters");
但是如果我插入一个像“Mary Jane”这样的双重名称,那么空格就会产生问题。如何在我的规则中也允许空格?
【问题讨论】:
标签:
php
jquery
jquery-validate
alphanumeric
【解决方案1】:
您需要将空格字符 (\s) 添加到您的正则表达式:
jQuery.validator.addMethod("lettersonly", function(value, element) {
return this.optional(element) || /^[a-z\s]+$/i.test(value);
}, "Only alphabetical characters");
【解决方案2】:
^\S\n
将其添加到方括号之间
这是一个双重否定,用于检查非非空白或非换行符。
它只会检查 空格,而不是换行符。
您的测试应如下所示:
/^[a-z^\S\n]+$/i.test(value)
来源: @Greg Bacon's answer
编辑:您可能还想为大写字母添加A-Z
【解决方案3】:
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
}
}
});