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 相关文章推荐
图书管理程序(二)
Oct 09 PHP
初识PHP
Sep 28 PHP
PHP模板引擎Smarty中的保留变量用法分析
Apr 11 PHP
PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
May 06 PHP
PHP并发多进程处理利器Gearman使用介绍
May 16 PHP
PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
Sep 11 PHP
php抽象方法和抽象类实例分析
Dec 07 PHP
PHP将身份证正反面两张照片合成一张图片的代码
Apr 08 PHP
php 如何设置一个严格控制过期时间的session
May 05 PHP
浅谈laravel orm 中的一对多关系 hasMany
Oct 21 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
Apr 04 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
Apr 14 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/03/18 PHP
yii2中使用Active Record模式的方法
2016/01/09 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
PHP基于SPL实现的迭代器模式示例
2018/04/22 PHP
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
JavaScript中判断整数的多种方法总结
2014/11/08 Javascript
jQuery 重复加载错误以及修复方法
2014/12/16 Javascript
JavaScript中的继承之类继承
2016/05/01 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
javascript 单例模式详解及简单实例
2017/02/14 Javascript
基于js的变量提升和函数提升(详解)
2017/09/17 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
javascript之分片上传,断点续传的实际项目实现详解
2019/09/05 Javascript
p5.js实现简单货车运动动画
2019/10/23 Javascript
vue实现PC端分辨率适配操作
2020/08/03 Javascript
python实现的简单RPG游戏流程实例
2015/06/28 Python
使用Python3编写抓取网页和只抓网页图片的脚本
2015/08/20 Python
Python中super()函数简介及用法分享
2016/07/11 Python
Python实现破解猜数游戏算法示例
2017/09/25 Python
浅谈Python NLP入门教程
2017/12/25 Python
python实现归并排序算法
2018/11/22 Python
基于pytorch的lstm参数使用详解
2020/01/14 Python
Python 实现加密过的PDF文件转WORD格式
2020/02/04 Python
python实现文件+参数发送request的实例代码
2021/01/05 Python
KLOOK客路:发现更好玩的世界,预订独一无二的旅行体验
2016/12/16 全球购物
写出一个方法实现冒泡排序
2016/07/08 面试题
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
现代化办公人员工作的自我评价
2013/10/16 职场文书
志愿者服务感言
2014/02/27 职场文书
国培计划培训感言
2014/03/11 职场文书
扩大国家免疫规划实施方案
2014/03/21 职场文书
送达通知书
2015/04/25 职场文书
搞笑的婚礼主持词
2015/06/29 职场文书
总结Python常用的魔法方法
2021/05/25 Python
详解Nginx 被动检查服务器的存活状态
2021/10/16 Servers