Home >Backend Development >PHP Tutorial >PHP method to determine operator based on mobile phone number
本文主要介绍了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(); }
相关推荐:
JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)_javascript技巧
The above is the detailed content of PHP method to determine operator based on mobile phone number. For more information, please follow other related articles on the PHP Chinese website!