允许数字、空格、加号、连字符和括号的正则表达式
我正在使用 jquery 验证器,其中我添加了一种方法来验证只允许数字、空格、加号、连字符和括号的字符串.字符串中的数字是强制性的,但其他承租人是可选的.
I am using jquery validator where I have added a method to validate a string which allow only numbers, spaces, plus sign, hyphen and brackets. Number is mandatory in the string but other charterer is optional.
我在 jquery 验证器中添加方法的代码:
My code for adding method in jquery validor:
jQuery.validator.addMethod( "regex", function(value, element, regexp) {
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"Please check your input."
);
规则代码如下:
rules: {
myfield: {
required: true,
regex: "[0-9]+" // want to add regular expression but I wrote only for digit which works but do not understand how to reach at my requirements.
},
}
推荐答案
你可以将需要的字符添加到字符类中
You can add the required characters into character class as
/^(?=.*[0-9])[- +()0-9]+$/
正则表达式演示
正则表达式解释
(?=.*[0-9])
积极向前看.确保至少有一位数字
(?=.*[0-9])
postive look ahead. Ensures that there is atleast one digit
[- +()0-9]+
匹配数字、空格、加号、连字符和括号
[- +()0-9]+
matches numbers, spaces, plus sign, hyphen and brackets
或
如果您不愿意使用前瞻.没有它们你可以写一个更长的正则表达式为
If you are reluctant in using look aheads. You could write without them a lenghier regex as
/^[- +()]*[0-9][- +()0-9]*$/
相关文章