用于点和数字验证的正则表达式

时间:2012-09-24 09:07:38

标签: php regex

我正在尝试验证点和数字。

有效:

1.2.3
1.4.1

无效:

1.2.3.
1.2-3
1-2-3

我从另一个线程尝试了以下内容,它适用于有效,但它也使用短划线( - )传递无效。

^\d+(.\d+)*$

对正则表达式有什么好处,所以严格只验证点和数字?

由于

5 个答案:

答案 0 :(得分:4)

你需要转义点,否则正则表达式中的“任何字符”:

^\d+(\.\d+)*$

答案 1 :(得分:3)

试试这个:

^\d+(\.\d+)*$

<强> Regex Demo

答案 2 :(得分:2)

如果您需要可变数量的点和数字重复数字&amp;点并将最后一个作为唯一数字:

(\d+\.)+\d+

它匹配1.2.3 1.2.3.4等等

如果您需要固定长度的数字,请将重复次数代替+运算符

(\d+\.){2}\d+ #for 1.2.3
(\d+\.){1}\d+ #for 1.2

答案 3 :(得分:1)

使用此正则表达式^\d+\.\d+\.\d+$

你在点,点的错误意味着任何符号

答案 4 :(得分:1)

点匹配所有字符,您应该使用\。

^ \ d +(\。\ d +)* $

但是这也可以验证没有点的任何数字,当至少应该存在1个点时使用:

(\ d + \。)+ \ d +