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

所属分类: 网络编程 / JavaScript 阅读数: 1669
收藏 0 赞 0 分享

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

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

更多精彩内容其他人还在看

JavaScript this关键字指向常用情况解析

这篇文章主要介绍了JavaScript this关键字指向常用情况解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Vue-cli打包后如何本地查看的操作

这篇文章主要介绍了Vue-cli打包后如何本地查看的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

vue cli 3.0通用打包配置代码,不分一二级目录

这篇文章主要介绍了vue cli 3.0通用打包配置代码,不分一二级目录,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

JavaScript事件循环及宏任务微任务原理解析

这篇文章主要介绍了JavaScript事件循环及宏任务微任务原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

关于vue-cli3打包代码后白屏的解决方案

这篇文章主要介绍了关于vue-cli3打包代码后白屏的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

vue打包静态资源后显示空白及static文件路径报错的解决

这篇文章主要介绍了vue打包静态资源后显示空白及static文件路径报错的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

vue-cli3访问public文件夹静态资源报错的解决方式

这篇文章主要介绍了vue-cli3访问public文件夹静态资源报错的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

JS继承实现方法及优缺点详解

这篇文章主要介绍了JS继承实现方法及优缺点详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

vue或react项目生产环境去掉console.log的操作

这篇文章主要介绍了vue或react项目生产环境去掉console.log的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题

这篇文章主要介绍了解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多