我有以下用于jquery验证的addMethod:
$.validator.addMethod(
"regex",
function(value, element, regexp) {
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"Invalid number of characters entered."
);
在我的领域,我想验证用户输入7,9,12,13或15个字符,我无法使正则表达式工作。我已经尝试了以下各项以及其相应的结果:
"......."
- 验证输入了7个字符
".......| ........."
- 确认输入了7个字符,但在输入9时声明错误。
'/^([a-z0-9]{7,}|[a-z0-9]{9,})$/'
- 无法验证任何内容。
我意识到有很多资源,但这是我第一次使用正则表达式,我似乎无法将正确的组合放在一起。如果您看到解决方案,请帮忙。感谢。
答案 0 :(得分:1)
您可以按.{n}
指定确切的字符数,其中n是.
匹配的字符数。您在第三个示例中使用的{n,}
符号表示 n或更多。将其与您的示例相结合,您可以构建一个类似^(.{7}|.{9}|.{12}|.{13}|.{15})$
的正则表达式。