jQuery验证不隐瞒错误消息

问题描述:

我写了一个小数点的验证方法,验证在texbox文:第一次jQuery验证不隐瞒错误消息

$.validator.addMethod("decimalCheck", function(value) { 
      var v = new RegExp("^\d*[0-9](\.\d*[0-9])?$", "g"); 
      return v.test(value); 
     }, "Error here"); 

,我inputed“12,34”的字符串文本框和错误消息显示。 第二次,我输入“12”字符串到文本框。这是有效的字符串,但不会隐藏错误消息。

请帮我解决 感谢&问候

试试这个(也略有优化,正则表达式有相同的功能)

$.validator.addMethod("decimalCheck", function(value) { 
    var v = /^\d+(\.\d+)?$/; 
    return v.test(value); 
}, "Error here"); 

你的问题是,你需要转义反斜线它self(double escape)else else正则表达式构造函数实际得到这个字符串传入("^d*[0-9](.d*[0-9])?$"

var v = new RegExp("^\\d*[0-9](\\.\\d*[0-9])?$", "g"); 

btw。在这里使用g标志可能会导致意外的结果。无论如何,您最好使用^$

+0

非常感谢jitter – Linh 2009-12-23 01:23:43