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
标志可能会导致意外的结果。无论如何,您最好使用^
和$
。
非常感谢jitter – Linh 2009-12-23 01:23:43