正则表达式判断所填入号码的运营商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}$/; //移动方面最新答复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 }; }}
怎么样,以上代码超简单吧,希望对大家学习js判断手机号运行尚有所帮助。