我要求非负数应该大于0(零),允许任何正数,并允许这个##。##格式。我试过
^\d+(\.\d{1,2})?$
这应该允许以下格式..
00.10
0.1
00.1
122222
应该禁止
0,
00.00,
000000,
10.1111
它支持我的所有要求,但它也允许全部为零。因此,应禁止仅输入零的数字,包括文本框中的单个零。
先谢谢
答案 0 :(得分:1)
尝试使用:
<击> ^ [1-9] \ d?(?:?\ d \ d)?$ 击>
更新
你的例子有点清楚。
在Perl中,我会使用正则表达式进行第一次测试 如果匹配,则将该值与0
进行比较if ($value =~ /^\d+(,:\.\d\d?)?$/ && $value != 0) {
print "OK\n";
} else {
print "Wrong value\n";
}
答案 1 :(得分:0)
尝试将\d+
替换为[1-9]\d*
。它在我的vi中工作。
答案 2 :(得分:0)
这适用于VI编辑器中的示例:
^[1-9]\d*\.\?\d\{1,2}$\|^0\+\.\d*[1-9]\d*$
如果您没有尝试VI,那么您可能必须删除转义字符(\
)