不应该允许单个零或0
本文关键字:许单个 不应该 | 更新日期: 2023-09-27 18:10:45
如何在数字(十进制可能允许)文本框中限制单个零?文本框可以接受任何数字,但不应该只接受零或"0"。##"作为值
例如:"900.55","200.00"合法,但"0","0.105"不合法。
我尝试了^[1-9]'d'.?'d[0-9]*
,但它接受"0"answers"0.##"
你就快成功了。
^[1-9][0-9]*('.[0-9]+)?$
输入必须
- 以数字1-9开头
- 后接0-9的任意序列
- 和可选:
- 后面跟着一个或多个0-9的点。
指出:
- 这也禁止
3.
。如果您不希望这样,请将最后一个+
替换为*
。 - 您可以使用
'd
代替[0-9]
。我使用后者来与[1-9]
保持一致并保持简单。
我想你已经接近了,但是在一个组中包含小数点和后面的数字可能更容易,并且使整个组只允许一次,就像这样:
^[1-9][0-9]*('.'d*)?
另外,这里有一个测试正则表达式的有用站点
我认为这样做会更简单:
float result;
return float.TryParse(textBox1.Text, out result) && result < 1;
如果文本框只接受有效的数字,并且您想断言的是它> 0。你真正需要的是
^[1-9]
或者如果后面的前缀0是允许的
^0*[1-9]
您也可以使用反向forward:
^(?!0'b)'d+('.'d*)?$
这有一个额外的好处,可以接受前面有0
的数字,如022。
我遇到了同样的情况并解决了这个问题。试一试。
@"[^ 0]*[0 - 9]。' d {2} $