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

2018-09-07 14:39

阅读:568

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

  移动: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]14715[0-27-9]17818[2-478])\d{8}$/; //移动方面最新答复 $isChinaUnion = /^(?:13[0-2]14515[56]17618[56])\d{8}$/; //向联通微博确认并未回复 $isChinaTelcom = /^(?:13315317717318[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(); }

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


评论


亲,登录后才可以留言!