js结合正则实现国内手机号段校验
附加一个utils对象,内含一个校验手机号函数,一个格式化返回数据函数
varisChinaMobile=/^134[0-8]\d{7}$|^(?:13[5-9]|147|15[0-27-9]|178|18[2-478])\d{8}$/;//移动方面最新答复 varisChinaUnion=/^(?:13[0-2]|145|15[56]|176|18[56])\d{8}$/;//向联通微博确认并未回复 varisChinaTelcom=/^(?:133|153|177|18[019])\d{8}$/;//1349号段电信方面没给出答复,视作不存在 varisOtherTelphone=/^170([059])\d{7}$/;//其他运营商 varutils={ checkMobile:function(telphone){ telphone=this.trim(telphone); if(telphone.length!==11){ returnthis.setReturnJson(false,'未检测到正确的手机号码'); } else{ if(isChinaMobile.test(telphone)){ returnthis.setReturnJson(true,'移动',{name:'ChinaMobile'}); } elseif(isChinaUnion.test(telphone)){ returnthis.setReturnJson(true,'联通',{name:'ChinaUnion'}); } elseif(isChinaTelcom.test(telphone)){ returnthis.setReturnJson(true,'电信',{name:'ChinaTelcom'}); } elseif(isOtherTelphone.test(telphone)){ varnum=isOtherTelphone.exec(telphone); returnthis.setReturnJson(true,'',{name:''}); } else{ returnthis.setReturnJson(false,'未检测到正确的手机号码'); } } }, setReturnJson:function(status,msg,data){ if(typeofstatus!=='boolean'&&typeofstatus!=='number'){ status=false; } if(typeofmsg!=='string'){ msg=''; } return{ 'status':status, 'msg':msg, 'data':data }; } }
验证130-139,150-159,180-189号码段的手机号码
<scripttype="text/javascript"> varmyreg=/^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/; if(!myreg.test($("#phone").val())) { alert('请输入有效的手机号码!'); returnfalse; } </script>
以上代码是在jquery下调试的。
不需要jquery的代码
functionvalidatemobile(mobile) { if(mobile.length==0) { alert('请输入手机号码!'); document.form1.mobile.focus(); returnfalse; } if(mobile.length!=11) { alert('请输入有效的手机号码!'); document.form1.mobile.focus(); returnfalse; } varmyreg=/^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/; if(!myreg.test(mobile)) { alert('请输入有效的手机号码!'); document.form1.mobile.focus(); returnfalse; } }
以上所述就是本文的全部内容了,希望大家能够喜欢。