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 相关文章推荐
web方式ftp
Oct 09 PHP
array_multisort实现PHP多维数组排序示例讲解
Jan 04 PHP
PHP文件操作实现代码分享
Sep 01 PHP
作为PHP程序员应该了解MongoDB的五件事
Jun 03 PHP
PHP 反射(Reflection)使用实例
May 12 PHP
PHP实现简单实用的验证码类
Jul 29 PHP
PHP格式化MYSQL返回float类型的方法
Mar 30 PHP
yii2中的rules 自定义验证规则详解
Apr 19 PHP
Smarty模板简单配置与使用方法示例
May 23 PHP
PHP实现对数组分页处理实例详解
Feb 07 PHP
PHP微商城开源代码实例
Mar 27 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
Jul 08 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/06/23 PHP
九个你必须知道而且又很好用的php函数和特点
2013/08/08 PHP
ThinkPHP5.1表单令牌Token失效问题的解决
2019/03/22 PHP
IE8 下的Js错误HTML Parsing Error...
2009/08/14 Javascript
jQuery 事件队列调整方法
2009/09/18 Javascript
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
2012/02/07 Javascript
js去除重复字符串两种实现方法
2013/01/09 Javascript
扩展js对象数组的OrderByAsc和OrderByDesc方法实现思路
2013/05/17 Javascript
javascript创建和存储cookie示例
2014/01/07 Javascript
jQuery+ajax实现鼠标单击修改内容的方法
2014/06/27 Javascript
jQuery使用drag效果实现自由拖拽div
2015/06/11 Javascript
JS实现仿Windows7风格的网页右键菜单效果代码
2015/09/11 Javascript
JavaScript对象数组的排序处理方法
2015/10/21 Javascript
Bootstrap选项卡与Masonry插件的完美结合
2016/07/06 Javascript
JS实现留言板功能
2017/06/17 Javascript
React Native 环境搭建的教程
2017/08/19 Javascript
Python中多线程的创建及基本调用方法
2016/07/08 Python
使用pyecharts在jupyter notebook上绘图
2020/04/23 Python
Python中format()格式输出全解
2019/04/12 Python
详解python调用cmd命令三种方法
2019/07/08 Python
python利用7z批量解压rar的实现
2019/08/07 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
Python matplotlib画曲线例题解析
2020/02/07 Python
使用pytorch 筛选出一定范围的值
2020/06/28 Python
使用TensorBoard进行超参数优化的实现
2020/07/06 Python
8种常用的Python工具
2020/08/05 Python
工程造价自荐信
2013/10/09 职场文书
医学院四年学习生活的自我评价
2013/11/06 职场文书
创业计划实施的7大步骤
2014/02/05 职场文书
《一株紫丁香》教学反思
2014/02/19 职场文书
团党委领导干部党的群众路线教育实践活动个人对照检查材料思想汇
2014/10/05 职场文书
老公婚前保证书
2015/02/28 职场文书
2016年共产党员公开承诺书
2016/03/24 职场文书
解决Python字典查找报Keyerror的问题
2021/05/26 Python
分析SQL窗口函数之取值窗口函数
2022/04/21 Oracle
Windows Server 2012配置DNS服务器的方法
2022/04/29 Servers