php验证手机号码


Posted in PHP onNovember 11, 2015

大家都应该有这个常识,中国的手机号码都是以数字“1”开头,然后利用“0~9”10个数字组成的11位数字组合,那么我们的验证规则肯定要根据这个思路来写。
根据上面的简单思路,我们便可以写下以下的验证代码,代码如下:

<?php  
  //本代码仅仅是提供一些思路  
  //距离实际应用还有一些距离  
   $mobile = '15858588585';  
  //下面的1便是手机的第一位数字必须为数字1  
  //[0-9]指后面的数字均为0~9的数字  
  //{9}这中间的9指的是手机号码除了第一位数外,其他要重复10次,刚好就是11位数了  
  if(!preg_match('/^1([0-9]{9})/',$mobile)) exit('您的手机号码不正确');  
?>

但上面的代码显然是不够严谨的,因为这样,即使“18888888888”这样的手机号码也能通过验证了,因此我们还要对其进行更为严格的验证,在严格之前请让我们先来看看中国常见的手机号码前三位都有那些:
移动手机号码:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188

联通手机号码:130、131、132、152、155、156、185、186  

电信手机号码:133、153、180、189、(1349卫通)
那么根据上面的特征,我们就可以将代码修改成这样的规则了,代码如下:

<?php 
   function checkMobile($str) 
   { 
     $pattern = “/^(13|15)d{9}$/”; 
     if (preg_match($pattern,$str)) 
     { 
       Return true; 
     } 
     else 
     { 
       Return false; 
     } 
   } 
  //调用函数 
  $str = checkMobile(“15800000001″); 
   if($str) 
   { 
   echo(“符合手机号码标准”); 
   } 
   else 
   { 
   echo(“不符合手机号码标准”); 
   } 
  ?>

上面只能骓13,15开头的,如果有新段就不行了,我们可加以修改,代码如下:

function is_mobile($str){  
return preg_match("/^(((d{3}))|(d{3}-))?13d{9}$/", $str);  
}

这样就可以验证所有的手机号码了,整个解析思路环环相扣,针对php验证手机号码进行详细分析,得出解决方法。

以上就是为大家分享的php验证手机号码的方法,希望对大家的学习有所帮助。

PHP 相关文章推荐
php smarty的预保留变量总结
Dec 04 PHP
apache php模块整合操作指南
Nov 16 PHP
php中switch语句用法详解
Aug 17 PHP
使用symfony命令创建项目的方法
Mar 17 PHP
php遍历解析xml字符串的方法
May 05 PHP
thinkPHP的表达式查询用法详解
Sep 14 PHP
PHP魔术方法以及关于独立实例与相连实例的全面讲解
Oct 18 PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
May 28 PHP
php两点地理坐标距离的计算方法
Dec 29 PHP
PHP中散列密码的安全性分析
Jul 26 PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
Aug 05 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
Jan 23 PHP
Thinkphp无限级分类代码
Nov 11 #PHP
php验证码生成代码
Nov 11 #PHP
分享10段PHP常用代码
Nov 11 #PHP
php+mysql实现无限级分类
Nov 11 #PHP
2款PHP无限级分类实例代码
Nov 11 #PHP
PHP中set error handler函数用法小结
Nov 11 #PHP
php实现Session存储到Redis
Nov 11 #PHP
You might like
PHP程序级守护进程的实现与优化的使用概述
2013/05/02 PHP
laravel 实现登陆后返回登陆前的页面方法
2019/10/03 PHP
让任务管理器中的CPU跳舞的js代码
2008/11/01 Javascript
JS 参数传递的实际应用代码分析
2009/09/13 Javascript
jquery获得页面元素的坐标值实现思路及代码
2013/04/15 Javascript
JavaScript类属性的访问方式详解
2014/02/11 Javascript
javascript使用window.open提示“已经计划系统关机”的原因
2014/08/15 Javascript
js使用setTimeout实现定时炸弹的方法
2015/04/10 Javascript
JS实现先显示大图后自动收起显示小图的广告代码
2015/09/04 Javascript
AngularJS中如何使用$http对MongoLab数据表进行增删改查
2016/01/23 Javascript
去除字符串左右两边的空格(实现代码)
2016/05/12 Javascript
jQuery 调用WebService 实例讲解
2016/06/28 Javascript
js中遍历Map对象的简单实例
2016/08/08 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
nodejs发送http请求时遇到404长时间未响应的解决方法
2017/12/10 NodeJs
详解vue axios用post提交的数据格式
2018/08/07 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
如何在Express4.x中愉快地使用async的方法
2020/11/18 Javascript
Java多线程编程中ThreadLocal类的用法及深入
2016/06/21 Python
Python反射和内置方法重写操作详解
2018/08/27 Python
Django之无名分组和有名分组的实现
2019/04/16 Python
Python-copy()与deepcopy()区别详解
2019/07/12 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
tensorflow 保存模型和取出中间权重例子
2020/01/24 Python
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
使用css3实现的windows8开机加载动画
2014/12/09 HTML / CSS
如何用PHP实现邮件发送
2012/12/26 面试题
装潢设计实习自我鉴定
2013/09/19 职场文书
委托书的格式
2014/08/01 职场文书
个人授权委托书样本
2014/09/13 职场文书
学雷锋倡议书
2015/01/19 职场文书
任命通知范文
2015/04/21 职场文书
中小学生安全教育观后感
2015/06/17 职场文书
MySQL 8.0 之不可见列的基本操作
2021/05/20 MySQL
开发微信小程序之WXSS样式教程
2022/04/18 HTML / CSS