jQuery 验证:如何为正则表达式验证添加规则? [英] jQuery validate: How to add a rule for regular expression validation?

查看:25
本文介绍了jQuery 验证:如何为正则表达式验证添加规则?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 jQuery 验证插件.好东西!我想迁移我现有的 ASP.NET 解决方案以使用 jQuery 而不是 ASP.NET 验证器.我缺少正则表达式验证器的替代品.我希望能够做这样的事情:

I am using the jQuery validation plugin. Great stuff! I want to migrate my existing ASP.NET solution to use jQuery instead of the ASP.NET validators. I am missing a replacement for the regular expression validator. I want to be able to do something like this:

$("Textbox").rules("add", { regularExpression: "^[a-zA-Z'.s]{1,40}$" })

我如何添加自定义规则来实现这一点?

推荐答案

感谢 redsquare 的回答我添加了这样的方法:

Thanks to the answer of redsquare I added a method like this:

$.validator.addMethod(
  "regex",
  function(value, element, regexp) {
    var re = new RegExp(regexp);
    return this.optional(element) || re.test(value);
  },
  "Please check your input."
);

现在您需要做的就是针对任何正则表达式进行验证:

Now all you need to do to validate against any regex is this:

$("#Textbox").rules("add", { regex: "^[a-zA-Z'.\s]{1,40}$" })

此外,看起来有一个名为 additional-methods.js 的文件包含方法pattern",当使用不带引号的方法.

Additionally, it looks like there is a file called additional-methods.js that contains the method "pattern", which can be a RegExp when created using the method without quotes.

pattern 函数现在是执行此操作的首选方法,示例如下:

The pattern function is now the preferred way to do this, making the example:

$("#Textbox").rules("add", { pattern: "^[a-zA-Z'.\s]{1,40}$" })

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆