我需要正则表达式:
然后是一两位数字。和一两个数字。
有效表达:
1
1.5
11.5
表达式无效:
0..
0.
11.
我尝试使用以下正则表达式。
^[0-9]{1,2}([.][0-9]{1,2})?$
但是当我输入12或类似的东西时它不会验证。 请帮我解决这个问题。 提前谢谢。
答案 0 :(得分:3)
好吧,12.
没有涵盖。既不是你的规范(点,后面跟着一两个数字),也不是你的例子,也不是你的正则表达式(事实上,它是无效表达式的一个例子)。如果输入一个点,则必须跟随数字,因为点和尾随数字都在同一组中。
您也可以将数字设为可选:
^[0-9]{1,2}(\.[0-9]{0,2})?$
也就是说,一个点后面也可能跟零个数字而不是一个或两个数字。
在JavaScript中\d
和[0-9]
相同,顺便说一下,所以你可以稍微缩短一点:
^\d{1,2}(\.\d{0,2})?$