Home > Backend Development > PHP Problem > How to use PHP to determine whether China Unicom or China Telecom

How to use PHP to determine whether China Unicom or China Telecom

藏色散人
Release: 2023-03-14 12:04:01
Original
1978 people have browsed it

php实现判断联通还是电信的方法:1、创建一个HTML页面并通过js代码验证手机号码是否正确;2、通过PHP代码“public function phone_check(){...}”判断号码是联通还是电信即可。

How to use PHP to determine whether China Unicom or China Telecom

本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。

php 怎么实现判断联通还是电信?

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>
<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>
Copy after login

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();
    }
Copy after login

推荐学习:《PHP视频教程

The above is the detailed content of How to use PHP to determine whether China Unicom or China Telecom. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template