时时商务社区

标题: PHP实现查询手机归属地的方法详解 [打印本页]

作者: wx_pylelnL4    时间: 2018-2-14 05:26

            本文介绍的是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获取手机号码归属地
            




    欢迎光临 时时商务社区 (http://bbs.4435.cn/) Powered by Discuz! X3.2