0

正規表現で数値を検証したい。
私の有効な番号は次のとおりです。

123456789012345.123

また

123.9

また

0.686`

小数点の前は 1 から最大 15 の数字でなければならず、その後は最大 3 の数字でなければなりません。負の数はオプションです。

無効な番号は次のとおりです。

0.0
0.00
0.000
000
097654
05978.7
.657665
5857.

この正規表現を見つけましたが、数値の長さ制限を設定できません:

 ^-?(([1-9]\d*)|0)(\.0*[1-9](0*[0-9])*)?$
4

2 に答える 2

0

* の代わりに {a,b} を使用します。ここで、a は先行する最小数、b は最大数です。最小/最大がない場合は a または b を省略します。

于 2013-05-14T10:38:02.353 に答える
0

私は自分で解決策を見つけました

^-?(([1-9])([0-9]{1,14})?|0)(\.[0-9]?[0-9]?[1-9])?$
于 2013-05-14T21:19:11.987 に答える