我需要在PHP中验证电话号码。我已经制作了以下正则表达式,但我还需要它接受以加号字符开头的数字,我该怎么做?
^[0-9]$
答案 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
等