当前位置:首页 > PHP教程 > 正则表达式 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2014-07-31 13:55:45 浏览: 评论:0 

自己常用的一个手机号正则表达式,今天突然发现不可以验证18开头的手机,下面是我以前的验证函数,代码如下:

  1. function funcMtel($str)//手机号码正则表达试 
  2.  return (preg_match("/(?:13d{1}|15[03689])d{8}$/",$str))?true:false; 
  3. /* 
  4. 测试:18678785887 
  5. 返回为 false 
  6. */ 

原因分析,查看了发现上面正则只能验证以13,15开头的,自然18开头的是不可以用的,修改后,代码如下:

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

这样就成功了.

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

Tags: php正则 php手机号码

分享到: