2013-07-05 83 views
1

是的,关于正则表达式的另一个问题与JQuery validation plugin。我已经按照我找到的所有例子,但由于某种原因不能得到这个只验证正则表达式匹配。不管我用什么正则表达式它会验证一切(100去下的金额,可选的$和可选的小数高达百分之一位置):JQuery验证插件正则表达式只验证匹配

$.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

+0

你想要制定什么样的验证标准?例如你想要过滤掉什么? – CME64

+0

仅验证与正则表达式匹配的输入。显示其他所有内容的错误消息。 – reflexiv

+0

那么为什么你需要一个库?你不,只是正则表达式和事件(keyup,keydown和change)是你需要的全部 – CME64

回答

1

这应该做

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

谢谢,但正则表达式似乎不是问题,它是插件和/或jQuery。我将你的正则表达式插入到http://jsfiddle.net/8fskm/6/,它不需要输入来匹配正则表达式。输入始终有效,与规则设置的正则表达式模式无关。这就像插件甚至没有检查,所以这表明jQuery的问题。 – reflexiv

+0

@reflexiv你的正则表达式是不正确的..它可以匹配34xty或343 .. – Anirudha

+0

只是再次检查它(忘记撞后运行后我猜),我错了你是对的,谢谢! – reflexiv