Rumah  >  Soal Jawab  >  teks badan

javascript - Bagaimana untuk menentukan pengendali nombor telefon mudah alih?

Suka tajuknya, bagaimana anda melakukannya? Saya banyak mencari dalam talian, tetapi saya tidak tahu mengapa ia tidak berkesan

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梦2683 hari yang lalu506

membalas semua(5)saya akan balas

  • ringa_lee

    ringa_lee2017-05-19 10:19:52

    Anda boleh mencuba API Taobao
    https://tcc.taobao.com/cc/jso...Berikut ialah nombor telefon bimbit

    Contohnya: https://tcc.taobao.com/cc/jso...

    Format pemulangan:

    _GetZoneResult = {

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

    }

    balas
    0
  • 迷茫

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

    Anda perlu mencari antara muka untuk ini, dan penghakiman langsung tidak mungkin.

    balas
    0
  • 淡淡烟草味

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

    Saya tidak tahu sama ada ia asli atau disalin dari suatu tempat, jadi ia tidak boleh digunakan.
    1. Adakah utils mempunyai kaedah trim() This.trim(xxx) akan menyebabkan ralat.
    2. Tiga ungkapan biasa adalah salah dan sebarang nombor akan kembali palsu

    balas
    0
  • 世界只因有你

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

    Untuk operator berbeza, bahagian depan berbeza

    balas
    0
  • PHPz

    PHPz2017-05-19 10:19:52

    Kami menggunakan antara muka Taobao sebelum ini, tetapi volum permintaan adalah besar dan kadangkala antara muka tidak stabil. Jadi sekarang kami menggunakan kaedah antara muka + enjin carian sebaliknya.
    Gunakan enjin carian bing, 360 dan Baidu secara rawak untuk membuat pertanyaan.

    Minta enjin carian terus dan kemudian analisis data yang dikehendaki daripada respons.

    Bukan sahaja anda boleh menyemak operator, tetapi anda juga boleh menyemak lokasi ^_^

    balas
    0
  • Batalbalas