問題描述
我正在使用 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]*$/
這篇關于允許數字、空格、加號、連字符和括號的正則表達式的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!