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;
}
}
以上所述就是本文的全部内容了,希望大家能够喜欢。