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


Posted in Javascript onJune 19, 2015

附加一个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 相关文章推荐
JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解
Apr 29 Javascript
火狐textarea输入法的bug的触发及解决
Jul 24 Javascript
jQuery控制TR显示隐藏的几种方法
Jun 18 Javascript
JS简单计算器实例
Jan 20 Javascript
jQuery控制div实现随滚动条滚动效果
Jun 07 Javascript
jQuery UI结合Ajax创建可定制的Web界面
Jun 22 Javascript
判断js的Array和Object的实现方法
Aug 29 Javascript
js实现数组去重方法及效率?Ρ? target=
Feb 14 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
Mar 03 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
Aug 14 jQuery
从零撸一个pc端vue的ui组件库( 计数器组件 )
Aug 08 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
Sep 13 Javascript
JavaScript中数据结构与算法(二):队列
Jun 19 #Javascript
JavaScript中数据结构与算法(一):栈
Jun 19 #Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
Jun 19 #Javascript
c#程序员对TypeScript的认识过程
Jun 19 #Javascript
JavaScript和JQuery的鼠标mouse事件冒泡处理
Jun 19 #Javascript
TypeScript 中接口详解
Jun 19 #Javascript
TypeScript 学习笔记之基本类型
Jun 19 #Javascript
You might like
PHP详细彻底学习Smarty
2008/03/27 PHP
php读取der格式证书乱码解决方法
2015/06/22 PHP
php简单统计在线人数的方法
2016/05/10 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
2019/05/27 PHP
prettify 代码高亮着色器google出品
2010/12/28 Javascript
jquery 无限级联菜单案例分享
2013/03/26 Javascript
JavaScript 语言基础知识点总结(思维导图)
2013/11/10 Javascript
深入分析js的冒泡事件
2014/12/05 Javascript
js改变Iframe中Src的方法
2015/05/05 Javascript
Jquery实现遮罩层的方法
2015/06/08 Javascript
jQuery实现宽屏图片轮播实例教程
2015/11/24 Javascript
第一次接触神奇的Bootstrap网格系统
2016/07/27 Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
2018/01/13 Javascript
vue中各选项及钩子函数执行顺序详解
2018/08/25 Javascript
vue实现弹幕功能
2019/10/25 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
vue项目中微信登录的实现操作
2020/09/08 Javascript
python with statement 进行文件操作指南
2014/08/22 Python
Python多线程编程(七):使用Condition实现复杂同步
2015/04/05 Python
Python浅拷贝与深拷贝用法实例
2015/05/09 Python
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
matplotlib设置legend图例代码示例
2017/12/19 Python
TensorFlow高效读取数据的方法示例
2018/02/06 Python
python3学生名片管理v2.0版
2018/11/29 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
Python使用循环神经网络解决文本分类问题的方法详解
2020/01/16 Python
Python高阶函数与装饰器函数的深入讲解
2020/11/10 Python
美国相机和电子产品零售商:Beach Camera
2020/11/26 全球购物
Python里面如何实现tuple和list的转换
2012/06/13 面试题
车间机修工岗位职责
2014/02/28 职场文书
办公室文员工作自我鉴定
2014/09/19 职场文书
钱学森电影观后感
2015/06/04 职场文书
银行岗位培训心得体会
2016/01/09 职场文书
JS Canvas接口和动画效果大全
2021/04/29 Javascript
uniapp开发打包多端应用完整方法指南
2022/12/24 Javascript