使用正则表达式创建jquery验证规则

时间:2014-09-30 14:56:05

标签: regex jquery-validate

我正在尝试制作一个查找特定值模式的jquery验证规则。但是我遇到了误报的问题。

这是我的规则

Query.validator.addMethod("eidFormat", function (value, element) {
    var a1formatChk = /[^b-z]\d{5}|\d{6}$/.test(value);
    return e1formatChk;
}, "Your oder code needs to be your employee id. Please try again.");

我要找的值必须是5位或6位数。此外,我正在添加关于字段更改的规则。要么他们需要添加他们的员工ID,要么留空,我在后端添加系统生成的id。

这是我遇到的问题

如果我输入b1234,它会失败并给我留言 但如果我像fgkhjkjfhg54645那样放入垃圾,那么测试就会恢复正常。

我认为这更像是一个模式问题,但我不确定。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:3)

请注意,[^b-z]会匹配任何字符(包括非字字符),但不匹配bz。所以改变你的正则表达式,

^a\d{5,6}$

<强>解释

  • ^断言我们刚开始。
  • a匹配文字a。
  • \d{5,6}将允许5或6位数。
  • $断言我们到底。