我正在尝试创建一个JavaScript Regex来测试:
0到99.9之间的有效#(只允许一个十进制数) 例如3.45无效。
所以,空白是可以的,0到99之间的任何整数都可以,并且允许使用小数值。
到目前为止我有这个,但它允许3.45
之类的值传递:
$^|$[0-9][0-9]?^|$[0-9][0-9]?.[0-9]^
答案 0 :(得分:9)
我可以看到两个问题:
\.
。 答案 1 :(得分:4)
Mark已经说过你的表达有什么问题。以下是另一种编写方式:
^(\d\d?(\.\d)?)?$
说明:
^
匹配字符串的开头(...)?
使整数可选$
匹配字符串的结尾\d\d?
匹配一位或两位数字(?
使第二位数字可选)(\.\d)?
匹配点.
和数字(?
使其可选)答案 2 :(得分:1)
我从未真正使用过多少JavaScript,但这应该可以胜任......
^[0-9][0-9]?(?:\.[0-9])?$
答案 3 :(得分:0)
将您的正则表达式重写为:
^$|^[0-9][0-9]?$|^[0-9][0-9]?\.[0-9]$
但更好的是,使用Felix King的那个。
答案 4 :(得分:0)
另一种变体是
/^\d{0,2}(\.\d)?$/
如果允许这样的话,它将接受像.3这样的数字。