JavaScript判断手机号运营商的实现代码

作者:小括号时间:2026-10-29 16:00:08浏览:354

本文介绍了在Web开发中,如何利用JavaScript判断用户输入的手机号码所属运营商(移动、联通、电信或其他)。通过定义特定的正则表达式匹配规则,并封装为工具函数,开发者可以便捷地获取运营商信息并进行后续处理。

JavaScript判断手机号运营商的实现代码

本文介绍了一种使用JavaScript判断手机号码所属运营商的方法,供读者参考。

在Web项目开发过程中,经常需要根据用户输入的手机号码识别其所属的运营商(如中国移动、中国联通、中国电信或其他运营商),以便针对不同运营商执行特定的业务逻辑。以下展示了在JavaScript中实现这一功能的具体代码。


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
    };
  }
}

希望上述内容能为您的JavaScript编程工作提供有益的帮助。

作者最新文章