js结合正则实现国内手机号段校验

前端技术 2023/09/02 JavaScript

附加一个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; 
    } 
  } 

以上所述就是本文的全部内容了,希望大家能够喜欢。

本文地址:https://www.stayed.cn/item/5179

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。