php教程

超轻量级php框架startmvc

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

更新时间:2020-03-26 02:03:52 作者:startmvc
道理很简单,知道手机号规则进行正则判断就可以移动:134、135、136、137、138、139、150、151

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

移动: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 手机 运营商