小数的正则表达式

时间:2015-09-24 15:17:40

标签: jquery regex html5

我有一个我需要写的简单表达,但我对正则表达式并不是那么好。

我的限制是:最多1位数。最多4位数,允许更少

这些应该通过。

1
1.2
1.23
1.234
1.2345

这些应该失败。

10
10.1
1.23456

我最接近的是\d\.\d{0,4},但它不会选择1,并从第二个列表中选择0.11.2345

我还应该指定这是在用户输入时进行的检查,如果这会产生影响。

修改

由于有很多回复涵盖了几个不同的点,我觉得我应该指出更多,特别是因为有人可能会指出我更好的道路。我在网络表单上使用它。它只需要在用户输入时允许这些条件,所以如果他们有" 4"并尝试输入" 1"它不会允许它,但如果他们进入"。"第一。或者在他们做类似" 2.5345"之类的事情之后不允许输入,因为它是小数点后面的4位数。

4 个答案:

答案 0 :(得分:3)

您可以使用此正则表达式:

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

RegEx Demo

(\.\d{0,4})?在十进制可选后允许单个数字作为有效输入。

警告:这也允许9.作为有效输入。

答案 1 :(得分:2)

/^\d(\.\d{0,4})?$/

RegEx细分

/ - 表示正则表达式的开始

^\d - 表达式以数字

开头

\. - 期间需要转义,因为否则它们会匹配任何字符。

\d{0,4} - 将匹配0到4位数。

() - 捕获所有内容

? - 匹配表达式的0或1

答案 2 :(得分:1)

试试这个regex

^\d$|^\d\.\d{1,4}$

答案 3 :(得分:1)

在您的示例中,您还允许不使用点,因此您需要:^\d(\.\d{0,4})?$