正则表达式为国际格式的电话号码

时间:2014-11-05 15:21:50

标签: php regex validation symfony

我需要编写一个只匹配这种格式的正则表达式

+420 000 000 000
+420000000000
420 000 000 000
420000000000

它不能匹配字符串的任何部分中的任何a-z字符,只是数字,空格和" +"在开头。

2 个答案:

答案 0 :(得分:7)

你可以试试下面的正则表达式,

^\+?\d{3} ?\d{3} ?\d{3} ?\d{3}$

DEMO

  • ^断言我们刚开始。
  • \+?可选+
  • \d{3}正好匹配三位数字。
  • <space>?可选空间
  • $断言我们到底。

答案 1 :(得分:1)

这个正则表达式适合你:

$mobileNumber = "0905 222 222";

 if ( preg_match("/^(\+?)([0-9] ?){9,20}$/", $mobileNumber) )
            echo "matches!";