4

現在、次の正規表現を使用して、HTML入力フォームフィールドの通貨を検証しています。

/[1-9]\d*(?:\.\d{0,2})?/

ただし、次の値を許可しています:13000.234.12

これは有効な値ではありません。許可したい有効な値は次のとおりです。

有効

125
1.25
1000.15
700.1
80.45
0.25

無効

130.1.4
21.......14

このための標準的な正規表現パターンがあるはずだと思いますか?

補足:イベントキーリスナーを介して英数字とドル記号を禁止しているため、それらはすでに入力できません。これにより、この問題が少し簡単になります。

4

3 に答える 3

12

このようなものが機能するはずです:

^(\d*\.\d{1,2}|\d+)$

一致します:

1.00
1
0.23
0.2
.2

一致しません:

.
1.1.
于 2012-08-14T03:37:04.847 に答える
1
/^(\d*?)(\.\d{1,2})?$/

つまり、(開始)(任意の数の数値のみ、ゼロであっても)、(。そして数値のみ、1つまたは2つは、そこにある必要はありません)終了

于 2012-08-14T03:38:41.317 に答える
1

小数点記号にはコンマを使用しました。ここに私の友達:

^([0]?(,\d{1,2})?|([1-9]{1,3})?((\.\d{3})*|([1-9])*)?(,\d{1,2})?)?$
于 2015-02-14T18:52:25.827 に答える