1

可能重复:
十进制数的正则表达式

我的表的列具有 numeric(18,3) 数据类型。所以我创建了这样的验证表达式 Exp: "^\d+([\.][0-9]{0,3})?$"。对吗?我希望用户只输入数字而不是字符。

任何一个

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

Try the below one:

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

Update: Instead of use a regex to validate a number, you could just parse the input to a number and then compare it.

于 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 回答