PHP preg_match()通过满足特定条件来验证国际电话号码

时间:2017-08-30 09:15:24

标签: php preg-match

我想按照以下规则使用php preg_match()函数验证给定的国际电话号码: - 只允许数字,没有特殊字符和空格

  • 电话号码必须始终以“00”开始,而不是

  • 电话号码长度不应低于11个符号

到目前为止,我有这个检查字符串的开头:

preg_match("~^00\d+$~", $_POST['phone'])

但是如果我通过:00014568978945它将接受它正确,因为它检查有min '00'但第三个'0'使手机无效..

如何查看完整的preg_match()条件以检查上述要求?提前感谢您的时间!

1 个答案:

答案 0 :(得分:2)

我建议

 ~^00[1-9]\d{8,}$~D

请参阅regex demo

<强>详情:

  • ^00 - 从两个0开始,然后是
  • [1-9] - 非零数字,然后
  • \d{8,} - 任意8个或更多位数
  • $ - 字符串结束。

由于您验证,我还添加了D PCRE_DOLLAR_ENDONLY 修饰符,强制$锚点始终与非常匹配< / em>字符串的结尾。