0

数値フィールドの整数と小数を通常の exp で検証しようとしています。1桁の数字を除くすべてのケースで正常に機能します:-

$(document).ready(function(){
    $("#quantity").on('blur',function(){
        var quantity = $('#quantity').val() 
        var pattern = /^-?\d+\.?([0-9]{1,2})$/;
        alert(pattern.test(quantity))
    })
})

出力:

1 ---> false (why?)
-
9 ---> false (why?)
5.87 -->true (fine)
12.35 ---> true  (fine)
12.344 --->false (fine)
2323.34 --->true (fine)

1から9までのアラートTrueですが、私はそれが必要ですfalse

4

1 に答える 1

4

\d+文字列にはとの両方[0-9]{1,2}があります。これは、文字列に少なくとも 2 桁の数字が必要であることを意味します (オプションで小数を間に入れます)。

小数部分全体をオプションにしたい場合は、括弧で囲み、?量指定子を追加します。

/^-?\d+(\.[0-9]{1,2})?$/
于 2013-07-24T15:27:52.873 に答える