【问题标题】:JQuery validation plugin regex validate only matchesJQuery 验证插件正则表达式验证仅匹配
【发布时间】:2013-07-05 01:43:44
【问题描述】:

是的,还有一个关于JQuery validation plugin 的正则表达式问题。我已经按照我找到的所有示例进行操作,但由于某种原因无法仅验证正则表达式匹配。无论我使用什么正则表达式,它都会验证所有内容(美元金额低于 100,可选的 $ 和可选的小数点到百分之一):

$.validator.addMethod("regexp", function (value, element) {
    return this.optional(element) || /^\$?\d{0,2}(\.\d{1,2}$)?/.test(value);
}, 'Please enter a valid USD format under $100, dollar sign optional.');

$("#formname").validate({
    debug: true,
    rules: {
        textbox: {
            required: true,
            regexp: true
        }
    }
});

JSFIDDLE DEMO

【问题讨论】:

  • 您想要制定的验证标准是什么?例如你想过滤掉什么?
  • 仅验证与正则表达式匹配的输入。显示其他所有内容的错误消息。
  • 那你为什么需要一个库呢?你不需要,你只需要正则表达式和事件(keyup、keydown 和 change)
  • 我对任何可行的方法都持开放态度,但这是我正在验证的更大形式的一部分。其他部分使用插件工作,我只是提取了由于某种原因无法工作的部分。这似乎很容易,只是不确定我是否遗漏了一些明显的东西。
  • 问题可能出在正则表达式中,所以我需要你向我解释你想用它做什么。这样我就可以为你重建另一个。

标签: jquery regex jquery-validate


【解决方案1】:

应该这样做

/^[$]?\d{1,2}([.]\d{1,2})?$/

【讨论】:

  • 谢谢,但正则表达式似乎不是问题,它是插件和/或 jquery。我将您的正则表达式插入jsfiddle.net/8fskm/6,它不需要输入来匹配正则表达式。输入总是验证,不管规则设置为什么正则表达式模式。这就像插件甚至没有检查,所以这表明 jquery 有问题。
  • 只是再次检查了一遍(我猜是在更改后忘记点击运行),我错了,你是对的,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-06
  • 2012-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多