正则表达式测试单零

时间:2014-01-02 13:39:31

标签: asp.net regex validation

我正在尝试在ASP.NET中编写正则表达式来测试以下数值:

1      valid
1.23   valid
12.45  valid
123.01 valid
0.56   valid
012.89 valid

0.123  invalid
1.     invalid
1.1    invalid
1234   invalid
0      invalid

我创建了以下正则表达式来满足以上所有要求,除非用户提供单个0。

^[0-9]{1,3}(\.[0-9]{2})?$

我尝试扩展表达式以防止单个0:

^(?!0{1})[0-9]{1,3}(\.[0-9]{2})?$

这样可行,但0.56无效。我无法确定如何测试单个0,但如果存在其他数字则忽略它。

1 个答案:

答案 0 :(得分:1)

借助:Regular Expression to accept decimal numbers but not single 0

^((?=.*[1-9])[0-9]{1,3}(\.[0-9]{2})?)$

http://rubular.com/r/hm3FE5pLFd验证

编辑:请注意,此表达式与0.00不匹配。