Maison >développement back-end >tutoriel php >Méthode PHP pour déterminer l'opérateur en fonction du numéro de téléphone mobile

Méthode PHP pour déterminer l'opérateur en fonction du numéro de téléphone mobile

小云云
小云云original
2018-01-05 10:12:212040parcourir

本文主要介绍了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 = &#39;&#39;;
  function mobile_check(phone){
    if(phone.length !== 11){
      alert(&#39;未检测到正确的手机号码&#39;);
      return false;
    }
    $.ajax({
      url:"__CONTROLLER__/phone_check",
      async:false,
      dataType:&#39;json&#39;,
      type:&#39;post&#39;,
      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(&#39;phone&#39;);
      $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(&#39;中国移动&#39;); //0
      }else if(preg_match($isChinaUnion, $phone)){
        $this->ajaxReturn(&#39;中国联通&#39;); //1
      }else if(preg_match($isChinaTelcom, $phone)){
        $this->ajaxReturn(&#39;中国电信&#39;); //2
      }else{
        $this->ajaxReturn(&#39;未知&#39;);   //3
      }
    }

    $this->display();
  }

相关推荐:

如何根据ip获得运营商的信息

JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)_javascript技巧

js判断手机号运营商的方法_javascript技巧

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn