PHP preg_match用于电话号码

时间:2012-02-04 03:05:20

标签: php preg-match

我正在尝试preg_match可以采用以下任何格式的电话号码:

1)51113333(8位数字之间没有任何空格)

2)5111 3333(8位数字,中间有空格)

3)5111-3333(8位数,中间用连字符)

谢谢!

2 个答案:

答案 0 :(得分:2)

这就行了。

\d{4}[ -]?\d{4}

demo

注意最后一个例子。如果要在其他文本中使用它会更复杂,例如“somestuff12345678otherstuff”,因为你必须检查之前和之后的字符不是数字。如果是这种情况,请告诉我。

答案 1 :(得分:1)

preg_match( "/[^\d]\d{4}[- ]?\d{4}[^\d]/", $number );

我相信。不记得preg_match是否支持{4}或者是否需要\ d \ d \ d \ d