验证php中的任何电话号码

时间:2014-04-10 14:51:25

标签: php regex validation preg-match phone-number

我需要帮助来验证各种格式的电话号码

有效格式:

+111 1 11111111
+11 1111111
1111111
(+111) (11) 1111111

等,格式为:

  • 你可以选择" +"只在开头和一次签名。
  • 可以领导
  • 只打开和关闭括号。你不能有更多
  • 总共15个数字。总共不能少于8个。

有这个:

if(strlen($buff) < 8)
    return false;

$buff = trim(preg_replace('/\s+/', ' ', $buff));

if(preg_match('/^\(\d\) \d \d$/', $buff))
    return $buff;

return false;

感谢。

1 个答案:

答案 0 :(得分:1)

智能手机策略:

  1. 删除所有非数字字符,但不删除+
  2. 如果是00
  3. ,请将+替换为第一个符号
  4. 000
  5. 替换为00
  6. 匹配可能country code
  7. 检查xy
  8. 之间的长度

    你甚至不需要正则表达式。