Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery验证don';当值有效时,不要隐藏错误消息_Javascript_Jquery_Validation - Fatal编程技术网

Javascript Jquery验证don';当值有效时,不要隐藏错误消息

Javascript Jquery验证don';当值有效时,不要隐藏错误消息,javascript,jquery,validation,Javascript,Jquery,Validation,我编写了一个十进制验证方法来验证文本框中的文本: $.validator.addMethod("decimalCheck", function(value) { var v = new RegExp("^\d*[0-9](\.\d*[0-9])?$", "g"); return v.test(value); }, "Error here"); 第一次,我将“12,34”字符串输入文本框并显示错误消息。 第二次,我将“12”字符串输

我编写了一个十进制验证方法来验证文本框中的文本:

$.validator.addMethod("decimalCheck", function(value) {
            var v = new RegExp("^\d*[0-9](\.\d*[0-9])?$", "g");
            return v.test(value);
        }, "Error here");
第一次,我将“12,34”字符串输入文本框并显示错误消息。 第二次,我将“12”字符串输入到textbox。这是有效字符串,但错误消息不会隐藏

请帮我解决 感谢并致以最诚挚的问候

试试这一款(同样是具有相同功能的稍微优化的正则表达式)


您的问题是需要对反斜杠本身进行转义(双转义),否则regex构造函数实际上会传入此字符串(
“^d*[0-9](.d*[0-9])?$”

顺便说一句,在这里使用
g
标志可能会导致意外结果。不管怎样,在使用
^
$
时最好不要使用它

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