龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php 手机号码正则表达试程序代码

时间:2012-12-24 21:59来源:未知 作者:admin 点击:
分享到:
自己常用的一个手机号正则表达式,今天突然发现不可以验证18开头的手机,下面是我以前的验证函数。 代码如下 function funcMtel($str)//手机号码正则表达试 { return (preg_match(/(?:13d{1}|15[03
自己常用的一个手机号正则表达式,今天突然发现不可以验证18开头的手机,下面是我以前的验证函数。
 代码如下

function funcMtel($str)//手机号码正则表达试
{
 return (preg_match("/(?:13d{1}|15[03689])d{8}$/",$str))?true:false;
}

测试

18678785887

返回为

false

原因分析,查看了发现上面正则只能验证以13,15开头的,自然18开头的是不可以用的

修改后

 代码如下

function funcMtel($str)//手机号码正则表达试
{
 return (preg_match("/(?:1[3|4|5|8]d{1}|15[03689])d{8}$/",$str))?true:false;
}

测试

18678785887

返回为

true

这样就成功了,

总结经验:

像手机号这类都会不断更新号码段了,我们在写函数时把它写成公共函数,这样就可以解决这个问题了。


精彩图集

赞助商链接