![](/img/trans.png)
[英]Regex decimal greater than 0 less than 1 with at most 3 decimal places
[英]Regex to allow decimal numbers greater than 0 and less than 100
我试图输入大于0
且小于100
,我正在使用以下正则表达式:
/^(0+)?(99(\.99?)?|(\.99?)?|\.[0-9]+|0?[0-9](\.[0-9]{0,2})?|(0+)?[0-9][0-9](\.[0-9][0-9]?)?)$/
这个正则表达式不会抱怨零,但0.01是一个有效值。
基本上,我试图获得00.00
格式的值,并且也可以使用0.01, 00.01, ... 99.99
类的值0.01, 00.01, ... 99.99
但仅限数字和点。
我正在使用javascript和html
那么为什么你必须用复杂的正则表达式来打败自己。 为什么不进行数字比较?
function validNum (num) {
num = parserFloat(num);
return num > 0 && num < 100;
}
只想要两位小数?
function validNum (num) {
num = parseFloat((num + "").replace(/^(.*\.\d\d)\d*$/, '$1'));
return num > 0 && num < 100;
}
.5: true
..5 : false
.005 : false
0.05 : true
99.99 : true
00.01 : true
00.00 : false
0.00 : false
00.0 : false
100.00 : false
我想你不想允许0.00
或00.00
^(?!00?\.00$)\d{1,2}(?:\.\d{2})?$
要么
^(?!00?\.00$)\d{1,2}(?:\.\d{1,2})?$
开头的负向前瞻(?!00?\\.00$)
断言要匹配的数字不是00.00
或0.00
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.