【发布时间】:2013-05-10 13:34:37
【问题描述】:
我正在尝试为我的代码编写一个正则表达式,该正则表达式用于验证电话号码格式,前两位数字应该是 01,04,05,06,07,08,09 后跟一个破折号 ( -) 后跟 6 位数字。
我使用了以下正则表达式:0[1456789]{1}-[0-9]{6}。
我使用以下站点来确保我的正则表达式正常工作:RegExr 我正在以下01-123456 上对其进行测试
但是,当我运行我的代码时,我的函数返回,好像数字无效,事实并非如此。
这是我的代码:
function validHomePhone () {
global $home_phone;
$home_phone_regex = "0[1456789]{1}-[0-9]{6}";
return preg_match($home_phone_regex, $home_phone);
}
为什么我会得到这样的结果?
【问题讨论】:
-
您的正则表达式中不需要分隔符吗?
-
我还想推荐您的正则表达式的简化版本
/0[14-9]-\d{6}/。
标签: php regex validation preg-match