PHP根据手机号判断运营商(详细介绍附代码)

yipeiwu_com5年前PHP代码库

道理很简单,知道手机号规则 进行正则判断就可以

移动: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卫通)

HTML页面

<!DOCTYPE html>
<html lang="en">
<head>
  <title>手机号归属</title>
</head>
<body>
  <input type="text" onblur="mobile_check($(this).val())" >
</body>
</html>
<script type="text/javascript" src="__ROOT__/Public/admin/lib/jquery/1.9.1/jquery.min.js"></script>  //修改为自己的路径
<script>
  /*
   移动: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卫通)
   */
  var phone = '';
  function mobile_check(phone){
    if(phone.length !== 11){
      alert('未检测到正确的手机号码');
      return false;
    }
    $.ajax({
      url:"__CONTROLLER__/phone_check",
      async:false,
      dataType:'json',
      type:'post',
      data:{phone:phone},
      success:function(msg){
        alert(msg);
      }
    });
  }
</script>

controller控制代码

/*
  *@param string $phone  手机号字符串
  *@return 0中国移动,1中国联通 2中国电信 3未知
  */
  public function phone_check(){
    if(IS_POST){
      $phone = I('phone');
      $isChinaMobile = "/^134[0-8]\d{7}$|^(?:13[5-9]|147|15[0-27-9]|178|18[2-478])\d{8}$/"; //移动方面最新答复
      $isChinaUnion = "/^(?:13[0-2]|145|15[56]|176|18[56])\d{8}$/"; //向联通微博确认并未回复
      $isChinaTelcom = "/^(?:133|153|177|173|18[019])\d{8}$/"; //1349号段 电信方面没给出答复,视作不存在
      // $isOtherTelphone = "/^170([059])\\d{7}$/";//其他运营商
      if(preg_match($isChinaMobile, $phone)){
        $this->ajaxReturn('中国移动'); //0
      }else if(preg_match($isChinaUnion, $phone)){
        $this->ajaxReturn('中国联通'); //1
      }else if(preg_match($isChinaTelcom, $phone)){
        $this->ajaxReturn('中国电信'); //2
      }else{
        $this->ajaxReturn('未知');   //3
      }
    }

    $this->display();
  }

以上就是全部的实现代码了,需要的朋友可以参考一下

相关文章

PHP错误提示It is not safe to rely on the system……的解决方法

在php程序开发中有时会出现类似于这样的警告: PHP Warning: date(): It is not safe to rely on the system's timezone...

windows7下安装php的imagick和imagemagick扩展教程

最近的PHP项目中,需要用到切图和缩图的效果,在linux测试服务器上很轻松的就安装好php imagick扩展。但是在本地windows开发环境,安装过程遇到好多问题,在此与大家分享。...

Windows下安装PHP单元测试环境PHPUnit图文教程

Windows下安装PHP单元测试环境PHPUnit图文教程

1、按照常规下载 php 的zip包和配置好 php.ini,这里的例子使用的是 E:\php 2、把你的 php 目录加入系统环境变量 path 中 3、开始 运行 输入 cmd,然...

基于php使用memcache存储session的详解

web服务器的php session都给memcached ,这样你不管分发器把 ip连接分给哪个web服务器都不会有问题了,配置方法很简单,就在php的配置文件内增加一条语句就可以了,...

学习php设计模式 php实现状态模式

学习php设计模式 php实现状态模式

一、意图 允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类 状态模式变化的位置在于对象的状态 二、状态模式结构图   三、状态模式中主要角色 抽象状态...