正则表达式仅限数字&单点

时间:2014-07-09 07:30:15

标签: javascript regex

我需要正则表达式:

然后是一两位数字。和一两个数字。

有效表达:

1
1.5
11.5

表达式无效:

0..
0.
11.

我尝试使用以下正则表达式。

^[0-9]{1,2}([.][0-9]{1,2})?$

但是当我输入12或类似的东西时它不会验证。 请帮我解决这个问题。 提前谢谢。

1 个答案:

答案 0 :(得分:3)

好吧,12.没有涵盖。既不是你的规范(点,后面跟着一两个数字),也不是你的例子,也不是你的正则表达式(事实上,它是无效表达式的一个例子)。如果输入一个点,则必须跟随数字,因为点和尾随数字都在同一组中。

您也可以将数字设为可选:

^[0-9]{1,2}(\.[0-9]{0,2})?$

也就是说,一个点后面也可能跟零个数字而不是一个或两个数字。

在JavaScript中\d[0-9]相同,顺便说一下,所以你可以稍微缩短一点:

^\d{1,2}(\.\d{0,2})?$