【发布时间】:2014-04-10 14:51:25
【问题描述】:
我需要帮助来验证各种格式的电话号码
有效格式:
+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;
谢谢。
【问题讨论】:
-
对这类问题的常见回答是“除非万不得已,否则不要这样做”。大多数情况下,项目所有者认为他们需要它,但不知道当某人拥有一个不符合该模式的真实电话号码,或者当某人合法地不想提供一个时,会造成多大的挫败感。
-
(但是,如果你真的需要,正则表达式是最好的选择)。
标签: php regex validation preg-match phone-number