【问题标题】:Using Regex with JqueryUI Validate使用带有 JqueryUI 验证的正则表达式
【发布时间】:2014-09-21 16:10:32
【问题描述】:

我正在尝试按照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+)?)$" })

是因为我将它包装在一个字符串中并且某些语法冲突吗?我对正则表达式没有经验,不知道如何解决这个问题。如果您看到我的错误在哪里,请告诉我。谢谢。

【问题讨论】:

    标签: jquery regex jquery-ui validation ruby-on-rails-4


    【解决方案1】:

    由于您将正则表达式作为字符串输入,因此您需要对反斜杠进行双重转义:

    $("#Textbox").rules("add", { regex: "^(\\d+(?:(?: \\d+)*\/\\d+)?)$" })
    

    或者使用 正则表达式

    $("#Textbox").rules("add", { regex: /^(\d+(?:(?: \d+)*\/\d+)?)$/ })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-28
      • 1970-01-01
      • 2013-07-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多