js结合正则实现国内手机号段校验
编程学习 2021-07-04 21:48www.dzhlxh.cn编程入门
这篇文章主要介绍了js结合正则实现国内手机号段校验的方法以及使用js和jQuery实现的简单校验手机号的示例,非常简单实用,有需要的小伙伴可以参考下。
附加一个utils对象,内含一个校验手机号函数,一个格式化返回数据函数
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 }; } }
验证130-139,150-159,180-189号码段的手机号码
<script type="text/javascript"> var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/; if(!myreg.test($("#phone").val())) { alert('请输入有效的手机号码!'); return false; } </script>
以上代码是在jquery下调试的。
不需要jquery的代码
function validatemobile(mobile) { if(mobile.length==0) { alert('请输入手机号码!'); document.form1.mobile.focus(); return false; } if(mobile.length!=11) { alert('请输入有效的手机号码!'); document.form1.mobile.focus(); return false; } var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/; if(!myreg.test(mobile)) { alert('请输入有效的手机号码!'); document.form1.mobile.focus(); return false; } }
以上所述就是本文的全部内容了,希望大家能够喜欢。