我正在尝试为最多4位数的数字创建正则表达式,如果输入为小数,则必须包含2位数字 - .20
而不是.1
。
尝试:
ng-pattern="/^[0-9]+(\.[0-9]{1,2})?$/" //fail for 666666, .10, .1
有效输入的示例:
100.10
100
3000.10
无效的示例:
10000 //has more then 4 digits before decimal
100.1 //has only 1 digit after decimal
.10 //has no digits before decimal
感谢您的帮助。
答案 0 :(得分:3)
尝试
^[0-9]{1,4}(\.[0-9][0-9])?$
使用{1,2}的问题在于它允许一个或两个数字,当你真的只需要两个时。而且我假设您要强制执行如果他们有“。”的规则,它们必须有两位数?
var patt = /^[0-9]{1,4}(\.[0-9][0-9])?$/i
"1011.11".match(patt)!==null
"1011.1".match(patt)!==null
返回
true
false
指出需要逃避.