我正在尝试按照jQuery validate: How to add a rule for regular expression validation?
的指导向我的JQueryUI验证器添加正则表达式验证$.validator.addMethod(
"regex",
function(value, element, regexp) {
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"Please check your input."
);
和
$("#Textbox").rules("add", { regex: "^[a-zA-Z'.\\s]{1,40}$" })
我想要包含的正则表达式是
^(\d+(?:(?: \d+)*\/\d+)?)$
可以在http://regex101.com/r/cB3fQ1/2
看到当我将正则表达式输入jquery时,没有条目通过。这就是我输入的方式
$("#Textbox").rules("add", { regex: "^(\d+(?:(?: \d+)*\/\d+)?)$" })
是因为我将它包装在字符串中并且某些语法是冲突的吗?我对正则表达式缺乏经验,并且不确定如何解决此问题。如果你看到我的错误在哪里,请告诉我。谢谢。
答案 0 :(得分:1)
因为您要将正则表达式作为字符串输入,所以需要双重转义反斜杠:
$("#Textbox").rules("add", { regex: "^(\\d+(?:(?: \\d+)*\/\\d+)?)$" })
或者使用正则表达式:
$("#Textbox").rules("add", { regex: /^(\d+(?:(?: \d+)*\/\d+)?)$/ })