我想按照以下规则使用php preg_match()函数验证给定的国际电话号码: - 只允许数字,没有特殊字符和空格
电话号码必须始终以“00”开始,而不是
电话号码长度不应低于11个符号
到目前为止,我有这个检查字符串的开头:
preg_match("~^00\d+$~", $_POST['phone'])
但是如果我通过:00014568978945它将接受它正确,因为它检查有min '00'但第三个'0'使手机无效..
如何查看完整的preg_match()条件以检查上述要求?提前感谢您的时间!
答案 0 :(得分:2)
我建议
~^00[1-9]\d{8,}$~D
请参阅regex demo。
<强>详情:
^00
- 从两个0
开始,然后是[1-9]
- 非零数字,然后\d{8,}
- 任意8个或更多位数$
- 字符串结束。由于您验证,我还添加了D
PCRE_DOLLAR_ENDONLY 修饰符,强制$
锚点始终与非常匹配< / em>字符串的结尾。