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 相关文章推荐
mysql总结之explain
Feb 27 PHP
php长字符串定义方法
Jul 12 PHP
PHP Class&amp;Object -- PHP 自排序二叉树的深入解析
Jun 25 PHP
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
Jun 25 PHP
php设计模式之单例模式使用示例
Jan 20 PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
Jun 04 PHP
php中call_user_func函数使用注意事项
Nov 21 PHP
smarty高级特性之对象的使用方法
Dec 25 PHP
yii框架无限极分类的实现方法
Apr 08 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
PHP微信H5支付开发实例
Jul 25 PHP
PHP Swoole异步MySQL客户端实现方法示例
Oct 24 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
phplock(php进程锁) v1.0 beta1
2009/11/24 PHP
php 无法载入mysql扩展
2010/03/12 PHP
php函数实现判断是否移动端访问
2015/03/03 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
关于IFRAME 自适应高度的研究
2006/07/20 Javascript
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
2012/08/14 Javascript
JS操作iframe里的dom(实例讲解)
2014/01/29 Javascript
Javascript中的异步编程规范Promises/A详细介绍
2014/06/06 Javascript
JavaScript返回上一页的三种方法及区别介绍
2015/07/04 Javascript
js代码实现随机颜色的小方块
2015/07/30 Javascript
js实现表单检测及表单提示的方法
2015/08/14 Javascript
js表单处理中单选、多选、选择框值的获取及表单的序列化
2016/03/08 Javascript
bootstrap table表格使用方法详解
2017/04/26 Javascript
js实现一个页面多个倒计时的3种方法
2019/02/25 Javascript
js实现简单掷骰子小游戏
2019/10/24 Javascript
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
2020/04/24 Javascript
echarts实现晶体球面投影的实例教程
2020/10/10 Javascript
[02:56]DOTA2英雄基础教程 巨魔战将
2013/12/10 DOTA
Django实现自定义404,500页面教程
2017/03/26 Python
Python装饰器简单用法实例小结
2018/12/03 Python
在Python 不同级目录之间模块的调用方法
2019/01/19 Python
python下载库的步骤方法
2019/10/12 Python
使用Pyhton 分析酒店针孔摄像头
2020/03/04 Python
Python调用shell命令常用方法(4种)
2020/05/11 Python
Python基于tkinter canvas实现图片裁剪功能
2020/11/05 Python
pycharm 使用tab跳出正在编辑的括号(){}{}等问题
2021/02/26 Python
英国精品买手店:Browns Fashion
2016/09/29 全球购物
工程测量与监理专业应届生求职信
2013/11/27 职场文书
纺织工程专业个人求职信范文
2014/01/27 职场文书
致100米运动员广播稿
2014/02/14 职场文书
物流管理毕业生自荐信范文
2014/03/15 职场文书
车间主任岗位职责
2014/03/16 职场文书
体育教师求职信
2014/05/24 职场文书
中学综治宣传月活动总结
2015/05/07 职场文书
javascript函数式编程基础
2021/09/15 Javascript
springcloud整合seata
2022/05/20 Java/Android