js判断手机号运营商代码

判断手机号运营商的原理
 
手机号码由国家信息产业部统一规划,11位号码的规划充分考虑了号码容量和号码格式。
 
    11位手机号码格式是:3位网号(运营商)+4位HLR号(地区)+4位的个人代码(个人号码),可理解为“运营商+地区+个人号码”。当然国际来话前面还需加拨国家代号+86。
 

    理论上讲11位手机号码的组合数是千亿个的号码。原来手机号码都是“13”打头,后来增加了“15”“18”“14”打头,最近又增加了虚拟运营商“170”打头,即便除去头两位,还剩下9位数,这个号码数也足够大足够用。
 
    中国移动主要号码段有:139、138、137、136、135、134、159、150、151、158、157、188、187、152、182、147。
  中国联通主要号码段有:131、132、155、156、185、186。
 
    中国电信主要号码段有:133,153,180,189。
 
    虚拟运营商号码段有:170
 
       号码段(3位网号,运营商)越来越多,单靠记忆判断已经较困难,好在智能手机越来越普及,内置或安装小软件,来电即可显示是哪个运营商哪个地区的。

权限:公开   来自:labs
声明: 本文仅代表作者个人观点。其原创性及文中表达的意见、判断、数据、观点和陈述文字等内容均与中国移动研究院无关。移动Labs博客致力于为ICT领域的研究者及从业者提供技术和业务交流的网络平台,对本文中全部或部分内容的真实性、完整性不作任何保证或承诺,仅供读者参考交流。

js代码

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

时间: 2024-10-28 20:10:22

js判断手机号运营商代码的相关文章

js判断手机号运营商的方法_javascript技巧

本文实例讲述了js判断手机号运营商的方法.分享给大家供大家参考.具体如下: 在做WEB项目时,有时候需要根据用户的输入手机号码判断该号的运营商是移动.联通.电信或其他,再根据不同的运营商做出相应的处理,下面介绍js中如何判断手机号的运营商的代码. js实现方法: var isChinaMobile = /^134[0-8]\\d{7}$|^(?:13[5-9]|147|15[0-27-9]|178|18[2-478])\\d{8}$/; //移动方面最新答复 var isChinaUnion =

JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)_javascript技巧

正则表达式判断所填入号码的运营商js代码修改版:http://www.jb51.net/article/31563.htm 在做WEB项目时,有时候需要根据用户的输入手机号码判断该号的运营商是移动.联通.电信或其他,再根据不同的运营商做出相应的处理,下面介绍js中如何判断手机号的运营商的代码 纯js代码   var isChinaMobile = /^134[0-8]\\d{7}$|^(?:13[5-9]|147|15[0-27-9]|178|18[2-478])\\d{8}$/; //移动方面

android获取手机IMSI码判断手机运营商代码实例_Android

复制代码 代码如下: //获取手机的IMSI码                                    TelephonyManager telManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);                                    String sendNum=null;                                    String imsi=te

js判断屏幕分辨率的代码

由于现在的很多用户的分辨率问题,导致很多广告会遮挡内容或者对于不同分辨率的用户不同的css样式,就可以参考下面的代码   一般我们可以通过下面的代码判断分辨率 复制代码 代码如下: <script language="JavaScript">  <!-- Begin  function redirectPage() {  var wjb51=screen.width; var hjb51=screen.height; alert("经系统检测,你的屏幕分辨率

js判断屏幕分辨率的代码_javascript技巧

一般我们可以通过下面的代码判断分辨率 复制代码 代码如下: <script language="JavaScript">  <!-- Begin  function redirectPage() {  var wjb51=screen.width;var hjb51=screen.height;alert("经系统检测,你的屏幕分辨率为 " + wjb51+"*"+ hjb51 + "by jb51.net"

js判断undefined类型示例代码

 这篇文章主要介绍了js判断undefined类型的实现方法,需要的朋友可以参考下  代码如下: if (reValue== undefined){  alert("undefined");  }  发现判断不出来,最后查了下资料要用typeof方法:  if (typeof(reValue) == "undefined") {  alert("undefined");    }    typeof 返回的是字符串,有六种可能:"num

封装好的js判断操作系统与浏览器代码分享_javascript技巧

摘要: 对于前端开发我们最重要的工作就是兼容性,系统的兼容性,浏览器的兼容性等等.今天分享一个我在项目中封装的判断操作系统与浏览器的方法. 操作系统: var os = (function() { var UserAgent = navigator.userAgent.toLowerCase(); return { isIpad : /ipad/.test(UserAgent), isIphone : /iphone os/.test(UserAgent), isAndroid : /andro

js判断undefined类程序代码

没有给变量赋值,如:var tmp:如果这是用typeof去判断这个变量的类型的话肯定是undefined类型. 如果用var 声明了某变量之后我们可以直接用  代码如下 复制代码 if( tmp == undefined )或者if( tmp != undefined ) 去判断,这个是没有问题的,不过这边也容易出现一个陷阱,如果一个变量没有用var声明过,而直接用  代码如下 复制代码 if( tmp == undefined )或者if( tmp != undefined ) 去判断的话是

js 验证手机号合法性程序代码

手机号验证的正则为:  代码如下 复制代码 var reg =/^0{0,1}(13[0-9]|15[7-9]|153|156|18[7-9])[0-9]{8}$/; var reg =/^0{0,1}(13[0-9]|15[0-9])[0-9]{8}$/; 还有一种写法  代码如下 复制代码 var regex = {     mobile: /^0?(13[0-9]|15[012356789]|18[0236789]|14[57])[0-9]{8}$/ } 表达式分析: "/"代表