Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Wie ermittelt man den Betreiber einer Mobiltelefonnummer?

Gefällt mir der Titel, wie hast du das gemacht? Ich habe viel online gesucht, aber ich weiß nicht, warum es nicht funktioniert

var isChinaMobile = /^134[0-8]\d{7}$|^(?:13[5-9]|147|15[0-27-9]|178|18[2-478])\d{8}$/; //移动方面最新答复
var isChinaUnion = /^(?:13[0-2]|145|15[56]|176|18[56])\d{8}$/; //向联通微博确认并未回复
var isChinaTelcom = /^(?:133|153|177|18[019])\d{8}$/; //1349号段 电信方面没给出答复,视作不存在
var isOtherTelphone = /^170([059])\d{7}$/;//其他运营商
var utils = {
 checkMobile: function(telphone){
  telphone = this.trim(telphone);
  if(telphone.length !== 11){
   return this.setReturnJson(false, '未检测到正确的手机号码');
  }
  else{
   if(isChinaMobile.test(telphone)){
    return this.setReturnJson(true, '移动', {name: 'ChinaMobile'});
   }
   else if(isChinaUnion.test(telphone)){
    return this.setReturnJson(true, '联通', {name: 'ChinaUnion'});
   }
   else if(isChinaTelcom.test(telphone)){
    return this.setReturnJson(true, '电信', {name: 'ChinaTelcom'});
   }
   else if(isOtherTelphone.test(telphone)){
    var num = isOtherTelphone.exec(telphone);
    return this.setReturnJson(true, '', {name: ''});
   }
   else{
    return this.setReturnJson(false, '未检测到正确的手机号码');
   }
  }
 },
 setReturnJson: function(status, msg, data){
  if(typeof status !== 'boolean' && typeof status !== 'number'){
   status = false;
  }
  if(typeof msg !== 'string'){
   msg = '';
  }
  return {
   'status': status,
   'msg': msg,
   'data': data
  };
 }
}
过去多啦不再A梦过去多啦不再A梦2733 Tage vor533

Antworte allen(5)Ich werde antworten

  • ringa_lee

    ringa_lee2017-05-19 10:19:52

    可以试下淘宝的API
    https://tcc.taobao.com/cc/jso...这里是手机号

    例如:https://tcc.taobao.com/cc/jso...

    返回格式:

    _GetZoneResult = {

    mts:'1820000',
    province:'四川',
    catName:'中国移动',
    telString:'18200000000',
    areaVid:'30508',
    ispVid:'3236139',
    carrier:'四川移动'

    }

    Antwort
    0
  • 迷茫

    迷茫2017-05-19 10:19:52

    这个得找接口,直接判断是不行的。

    Antwort
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-19 10:19:52

    不知是原创,还是抄自哪儿的,不能使用。
    1,utils没有trim()方法吗,this.trim(xxx)会出错。
    2,三个正则判断不正确,任何号码都返回false

    Antwort
    0
  • 世界只因有你

    世界只因有你2017-05-19 10:19:52

    不同运营商,前面的不一样

    Antwort
    0
  • PHPz

    PHPz2017-05-19 10:19:52

    我们之前使用淘宝接口,但是请求量较大,有时候接口并不稳定。所以现在改用接口+搜索引擎的方式。
    随机使用bing,360,百度搜索引擎查询。

    直接请求搜索引擎,然后从响应中分析想要的数据即可。

    不仅能查询运营商,还可以查询归属地哦 ^_^

    Antwort
    0
  • StornierenAntwort