找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1906|回复: 0
打印 上一主题 下一主题

PHP实现查询手机归属地的方法详解

[复制链接]

2536

主题

2536

帖子

7532

积分

论坛元老

Rank: 8Rank: 8

积分
7532
跳转到指定楼层
楼主
发表于 2018-2-14 05:26:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            本文介绍的是PHP实现查询手机归属地的方法,首先来看看手机归属地查询的类图:

后台
MobileQuery类调用:

  
  • \libs\HttpRquest
      
  • \libs\ImRedis (未使用)
      

    Api类调用 MobileQuery 类的 Query 方法来返回 $response 的数据,并进行加工。
    前台
    base.js 使用 .ajax 请求,并将请求后的数据填充到index.html 中。
    核心代码展示
    AutoLoad.php
    Api.php
    params = $_POST;
      if(isset($this->params['tel'])) {
       $this->phone = $this->params['tel'];
      }else {
       $this->phone = '17706436202';
      }
      $this->queryResponse($this->phone);
    }
    public function queryResponse($phone) {
      $this->response = MobileQuery::query($phone);
      if(is_array($this->response) and isset($this->response['province'])) {
       $this->response['phone'] = $phone;
       $this->response['code'] = 200;
      } else {
       $this->response['phone'] = $phone;
       $this->response['msg'] = '手机号码错误';
      }
    }
    public function getResponse()
    {
      return json_encode($this->response);
    }
    }
    $Api = new Api();
    echo $Api->getResponse();
    app/MobileQuery.php
    $phone]);
       $phoneData = self::formatData($response);
       $phoneData['msg'] ='数据由Cizel的博客提供';
      }
      return $phoneData;
    }
    public static function formatData($data)
    {
      $ret = null;
      if(!empty($data)){
       preg_match_all("/(\w+)[^']+)/",$data,$res);
       $items = array_combine($res[1],$res[2]);
       foreach ($items as $itemKey => $itemVal) {
        $ret[$itemKey] = iconv('GB2312','UTF-8',$itemVal);
       }
      }
      return $ret;
    }
    public static function varifyPhone($phone)
    {
      if(preg_match("/^1[34578]{1}\d{9}/",$phone)) {
       return true;
      } else {
       return false;
      }
    }
    }
    lib/HttpRequest.php
    statis/js/base.js
    /*
    * @Author: Cizel
    * @Date: 2016-04-11 16:53:52
    * @Last Modified by: Cizel
    * @Last Modified time: 2016-04-11 17:22:32
    */
    $(document).ready(function(){
    $('#query').click(function(){
      var phone = $('#phone_num').val();
      //alert(phone);
      if (phone.length == 11) {
       Cizel.GLOBAL.AJAX('Api.php','post',{'tel':phone},'json',Cizel.APPS.QUERYPHONE.AJAXCALLBACK);
      }
    });
    });
    var Cizel = Cizel || {};
    Cizel.GLOBAL = {};
    Cizel.APPS = {};
    Cizel.APPS.QUERYPHONE = {};
    Cizel.APPS.QUERYPHONE.AJAXCALLBACK = function(data){
    if(data.code == 200){
      Cizel.APPS.QUERYPHONE.SHOWINFO();
      $('#phoneNumber').text(data.phone);
      $('#phoneProvince').text(data.province);
      $('#phoneCatName').text(data.catName);
      $('#phoneMsg').text(data.msg);
    } else {
      Cizel.APPS.QUERYPHONE.HIDEINFO();
    }
    };
    Cizel.APPS.QUERYPHONE.SHOWINFO = function(){
    $('#phoneInfo').show();
    }
    Cizel.APPS.QUERYPHONE.HIDEINFO = function(){
    $('#phoneInfo').hide();
    }
    Cizel.GLOBAL.AJAX = function(url, method, params,dataType,callBack)
    {
    $.ajax({
      url: url,
      type: method,
      data: params,
      dataType: dataType,
      success:callBack,
      error:function(){
       alert('请求异常');
      }
    });
    };
    感悟
    通过完成这个实例,感觉自己对 PHP 面向对象的编写有了新的理解,同时 JavaScript 的编写能力需要加强。
    好了,以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
                
                
    您可能感兴趣的文章:
  • PHP 手机归属地查询 api
  • PHP实现手机归属地查询API接口实现代码
  • PHP手机号码归属地查询代码(API接口/mysql)
  • php验证手机号码(支持归属地查询及编码为UTF8)
  • 免费手机号码归属地API查询接口和PHP使用实例分享
  • PHP通过API获取手机号码归属地
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端