我想将电话号码字段限制为仅限数字',' +'和'空格'或限制' A-Z'。我正在使用jQuery Validate,我尝试过:
jQuery.validator.addMethod("numero", function(value, element) {
return this.optional(element) || value == value.match(/^[+1-9 ]*$/);
});
但我的regex
规则的numero
似乎无法正常运行。
我的代码:
jQuery(document).ready(function(){
jQuery.validator.addMethod("alpha", function(value, element) {
return this.optional(element) || value == value.match(/^[a-zA-Z ]*$/);
});
jQuery.validator.addMethod("numero", function(value, element) {
return this.optional(element) || value == value.match(/^[+1-9 ]*$/);
});
jQuery('.upsale-form').each(function() {
jQuery(this).validate({
rules: {
'Contact.name': {
minlength: 3,
required: true,
alpha: true
},
'Contact.email': {
required: true,
email: true
},
'Contact.phone': {
minlength: 9,
required: true,
numero: true
}
}
});
});
});
答案 0 :(得分:1)
我想将电话号码字段限制为仅限数字',' +'和'空格'
您的/^[+1-9 ]*$/
,\d
仅匹配1到9并且遗漏任何零。您可以使用/^[\d+ ]*$/
来代表任何数字。
所以{{1}}会有用。
请参阅:http://jsfiddle.net/pqjfxbyt/1/
参考:regexr.com
答案 1 :(得分:1)
也许你想要" 0-9"而不是" 1-9"?
return this.optional(element) || value == value.match(/^[+0-9 ]*$/);
答案 2 :(得分:0)
试试这个Regx,这会帮助你([0-9 + - ])\ w +