PHP中的电话号码验证

时间:2010-05-19 05:19:54

标签: php regex

我需要在PHP中验证电话号码。我已经制作了以下正则表达式,但我还需要它接受以加号字符开头的数字,我该怎么做?

^[0-9]$

3 个答案:

答案 0 :(得分:6)

您在问题中提供的正则表达式(^[0-9]$)只会匹配一位数的电话号码。

至少你可能需要添加+修饰符以允许一个或多个数字:

^[0-9]+$

要在开头添加可选的+,您需要将其转义,因为+是正则表达式中的特殊字符:

^\+?[0-9]+$

最后,\d[0-9]的简写,因此您可以将表达式缩短为

^\+?\d+$

答案 1 :(得分:0)

使用它 / ^(+ \ d)的 \ S ((\ d {3})\ S *)* \ d {3}( - {0,1} | \ S {0,1}) \ d {2}( - {0,1} | \ S {0,1})\ d {2} $ /;

答案 2 :(得分:0)

试试这个:

/^[\+]?([0-9]*)\s*\(?\s*([0-9]{3})?\s*\)?[\s\-\.]*([0-9]{3})[\s\-\.]*([0-9]{4})[a-zA-Z\s\,\.]*[x\#]*[a-zA-Z\.\s]*([\d]*)/

将匹配:

+1(111)111-1111,#111

111-111-1111

(111)111-1111 x 1

111.111.1111x1