表单验证码不起作用

时间:2012-12-21 14:36:46

标签: javascript regex

var val_regex = \d{3}+(\.[0-9]{1,2})?$
function validate(form){
    var valOne = form.valone.value;
    var valTwo = form.valtwo.value;
    var valThree = form.valthree.value;


     if (!val_regex.test(valOne)) || (!val_regex.test(valTwo)) ||(!val_regex.test(valThree)){
        $("#val-error").html("Error with inputted value");
        $('#val-error').fadeIn(200).delay(1500).fadeOut(800);
        return false;
     }
     return true;
    }
}

我的正则表达式似乎不起作用。你能看出问题所在吗?

正则表达式 - 我想要的 - 0到999之间的任何数字(含) - 允许最多2个小数位。我是以错误的方式编写正则表达式,还是我的javascript错误了?

2 个答案:

答案 0 :(得分:1)

您的正则表达式与单个或两位数字不匹配。

试试这个:

var val_regex = /^(([0-9])|([1-9][0-9])|([1-9][0-9][0-9]))(\.[0-9]{1,2})?$/;

答案 1 :(得分:0)

var val_regex = /^\d{1,3}(\.\d{1,2})?$/;

说明:

\d{1,3}

允许1-3位数。

\d{1,3}(\.\d{1,2})?

允许1-3位数字,并且可选地允许一段时间和1-2位数字。

^\d{1,3}(\.\d{1,2})?$

以上所有内容,但在其之前或之后不允许任何其他内容。确保您.trim()输入以消除前后的任何空格。

这将允许“0” - “999”。它还允许“0.0”,“0.00”和“999.99”但不允许“0”。 (小数点后必须至少有数字)。