十进制数的正则表达式

时间:2012-10-12 07:38:07

标签: asp.net regex

  

可能重复:
  Regular expression for decimal number

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

要么

1
1.0
1.12
1.123
11.23
123.123 

4 个答案:

答案 0 :(得分:2)

您可以使用更简单的正则表达式

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

如果您想检查您的正则表达式是否正确,请在您的测试用例中使用regexplanet进行检查。

答案 1 :(得分:2)

尝试以下方法:

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

更新 的 您可以将输入解析为数字,然后将其进行比较,而不是使用正则表达式来验证数字。

答案 2 :(得分:0)

怎么样:

^\d{1,18}|(?=.{3,19})\d+\.\d{1,3}$

答案 3 :(得分:0)

我把它写成"^\d{1,15}(\.\d{0,3})?$"。它运作正常。