如何在此正则表达式中排除0输入?用户应该能够输入任何数字......但不能输入零
^([0-9]*|\d*\.\d{1}?\d*)$
谢谢。
答案 0 :(得分:9)
以下正则表达式
^(?!0*(\.0+)?$)(\d+|\d*\.\d+)$
不匹配
0
0.0
.0
但允许
.1
0.01
1.00
1.1
01.01
10.10
1
答案 1 :(得分:1)
这个怎么样:
^((?:[1-9][0-9]*)(?:\.[0-9]+)?)$
匹配度:
1
5
10
22
5000
1.0
10.10
123.456
不匹配:
0
00
007
0.0
0.000
0.50
0.01
5,432.10
1,234,567
10.
您可以进一步将其锁定到特定范围,如下所述:
答案 2 :(得分:0)
如果我了解您的要求,请使用[1-9]
代替[0-9]
或\d
:
^([1-9]*|[1-9]*\.[1-9]{1}?[1-9]*)$
答案 3 :(得分:0)
试试这个:^([1-9] +)。\ d + $ 这要求您从1-9
输入至少1位数或^([1-9] )。\ d $ 这不要求您输入任何内容,但会限制您输入的内容为1-9
答案 4 :(得分:0)
你只需要改变: [1-9]为[1-9] * / d代表[1-9]
原文:^([0-9]*|\d*\.\d{1}?\d*)$
解决方案:^([1-9]*|[1-9]*\.[1-9]{1}?[1-9]*)$
\ d是[0-9]
答案 5 :(得分:0)
这项工作仅限自然数字为5位数,并限制左侧5位数字(您可以个性化该限制)
/^[0]{0,5}[1-9]\d{0,4}$/
匹配
1
01 .. 000001
0100000 .. 0000010000
不匹配:
0
00 .. 00000