我正在使用 jQuery验证插件。好东西!我想迁移现有的 ASP.NET 解决方案以使用 jQuery 而不是 ASP.NET 验证器。我缺少 正则表达式 验证器的替代品。我希望能够做这样的事情:
$("Textbox").rules("add", { regularExpression: "^[a-zA-Z'.\s]{1,40}$" })
如何添加自定义规则来实现这一点?
最佳答案
感谢 redsquare 的回答,我添加了这样的方法:
$.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}$" })
此外,看起来有一个名为 additional-methods.js
的文件,其中包含方法“pattern”,当使用该方法创建时,它可以是一个 RegExp
没有引号。
编辑
pattern
函数现在是执行此操作的首选方法,例如:
$("#Textbox").rules("add", { pattern: "^[a-zA-Z'.\\s]{1,40}$" })
关于jQuery 验证 : How to add a rule for regular expression validation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/280759/