1

テキストボックスへの入力が検証されるように、javascriptまたはregExで整数を小数点以下2桁で12に制限する方法について誰かが私を助けることができますか?

例えば

999999999999.99 - valid
99999999.999 - invalid
1234584.58 -valid
1.99 - valid
1000000000000 - invalid
4

4 に答える 4

5

正規表現を使用できます。

^[0-9]{1,12}\.[0-9]{2}$
于 2012-09-15T13:55:23.180 に答える
1

与えられたものは間違っています:それは12桁を検証しません

^ [0-9]{1,12}\。[0-9]{2}$

1920304049.09 // OK
192030404985  // not ok
1.34          // ok
33.98         // ok
33.9          // not ok

次のようになります

^(\ d {1,12})(\。\ d \ d)?$

1920304049.09 // OK
192030404985  // ok
1.34          // ok
33.98         // ok
33.9          // not ok
于 2012-09-15T16:29:35.217 に答える
0

正規表現は必要ありません。

function check(string){

var list = string.split('.');

if(parseInt(string[0], 10) > 0 && parseInt(string[1], 10) > 0){
if(list.length != 2){
    return false;
}
else if(list[0].length <= 12 && list[1].length <= 2){
    return true;
}
else{
return false;
}
} else{
return false;
}
}

if(check(1000000000000) == true){
    alert('valid');
}
else{
    alert('invalid');
}

私はそれをテストしませんでしたが、動作するはずです。

于 2014-02-09T18:08:10.047 に答える
0

私はそれを手に入れました、そしてそれは完全に機能します。以下は正規表現とテストデータです

^[0-9]{1,12}((\.[0-9]{1,2})|)$

123456789123.12 - okay
958.1 - okay
1578463499915 - not (13 numbers)
1548745654485.125 - not (13 numbers and 3 decimals)
5487564.325 - not (3 decimals)
54843. - not (will also validated because no decimal number but have decimal point
112457844.12 - okay
12.12 - okay
512.00 - okay
25867s56.5 - not (have letter)
654.01 - okay
1 - okay
01 - okay
00048 - okay
于 2012-09-15T18:55:22.100 に答える