1

重複の可能性:
10進数の正規表現

私のテーブルの列はnumeric(18,3)データ型を持っているので、次のような検証式を作成しました"^\d+([\.][0-9]{0,3})?$"。Exp:。正しいですか?ユーザーに文字ではなく数値のみを入力してもらいたいです。

また

1
1.0
1.12
1.123
11.23
123.123 
4

4 に答える 4

2

より単純な正規表現を使用できます

^\d+.?\d{0,3}$

正規表現が正しいかどうかを確認したい場合は、テストケースのregexplanetで確認してください。

于 2012-10-12T07:43:06.593 に答える
2

以下を試してください:

^\d{1,18}(?:\.\d{1,3})?$

更新: 正規表現を使用して数値を検証する代わりに、入力を数値に解析してから比較することができます。

于 2012-10-12T07:45:55.470 に答える
0

どうですか:

^\d{1,18}|(?=.{3,19})\d+\.\d{1,3}$
于 2012-10-12T08:04:50.473 に答える
0

として書きました"^\d{1,15}(\.\d{0,3})?$"。正常に動作しています。

于 2012-10-12T08:24:37.120 に答える