1
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が間違っていますか?

4

2 に答える 2

1

正規表現が 1 桁または 2 桁の数字と一致しません。

これを試して:

var val_regex = /^(([0-9])|([1-9][0-9])|([1-9][0-9][0-9]))(\.[0-9]{1,2})?$/;
于 2012-12-21T14:42:36.487 に答える
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」は許可されません。(少なくとも小数点以下の数字が必要です)。

于 2012-12-21T19:44:10.287 に答える