我正在尝试为RegularExpressionValidator控件编写一个正则表达式,它允许带有以下条件的小数或整数:
不能为负和零。
包括可选小数点在内的最大字符串长度为3个字符,如果只输入整数,则为2个字符
最大小数位数为1
所以这些都很好......
0.1,
0.9,
9.0,
9.1,
2,
34
这些都很糟糕.....
0,
-0,
-1,
-0.1,
.1,
.34,
9.01,
9.12,
345
你能帮我解决一下吗?我查看过如此多的正则表达式样本,但无法构建符合上述条件的正确样本。
答案 0 :(得分:1)
使用以下正则表达式:
^(\d{1,2}\.?|\d\.\d)$
第一种选择允许带有可选小数点的2位整数,第二种允许数字后跟1位小数。
如果它通过了此验证,则对其进行测试:
[^0]
确保它不为零。
答案 1 :(得分:0)
我已经尝试并提出了以下正则表达式...它满足了问题中提到的所有好的值和坏的值。
^(([1-9])|([0-9][1-9])|([1-9][0-9])|([0-9][.][1-9])|([1-9][.][0-9]))$
我对正则表达式知之甚少,看一下上面写的正则表达式的样本工作正常。请告诉我您对此的反馈,是否可以通过这种方式编写上述正则表达式,并且是否存在任何性能问题以及其他任何问题。