正则表达式接受十进制数而不是单个0

时间:2012-08-06 09:56:12

标签: asp.net validation

我正在使用ASP.NET Regular Expression Validator来验证textbox

有效样本:

1

1.1

11.1

11.12

0.1


0.12

无效的示例:

0

1.123

如您所见,我不希望输入仅包含0

目前我有这个表达式允许0

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

如何防止单个0?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

这对你有什么用?

((?=.*[1-9])\d+(\.\d+)?)

阐释:

(?=.*[1-9]) - 匹配但不包括大于1的任何内容

\d+ - 匹配任何数字

(\.\d+)? - 匹配小数点加上余数。

忽略第二个分组,这只是为了打破正则表达式。

答案 1 :(得分:0)

(((??。* [1-9])\ d +)((。\ d {1,2})?))$

也可以工作

-> 1.5

-> 20.80

-> 5.45

-> 0.5