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 相关文章推荐
High Performance JavaScript(高性能JavaScript)读书笔记分析
May 05 Javascript
表头固定(利用jquery实现原理介绍)
Nov 08 Javascript
jquery 淡入淡出效果的简单实现
Feb 07 Javascript
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
Mar 18 Javascript
js写出遮罩层登陆框和对联广告并自动跟随滚动条滚动
Apr 29 Javascript
jquery实现的图片点击滚动效果
Apr 29 Javascript
jQuery固定浮动侧边栏实现思路及代码
Sep 28 Javascript
JavaScript分页功能的实现方法
Apr 25 Javascript
js 获取元素所有兄弟节点的实现方法
Sep 06 Javascript
javascript数组常用方法汇总
Sep 10 Javascript
Vue.js中兄弟组件之间互相传值实例
Jun 01 Javascript
使用Vue-Router 2实现路由功能实例详解
Nov 14 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
mysql_num_rows VS COUNT 效率问题分析
2011/04/23 PHP
php和js如何通过json互相传递数据相关问题探讨
2013/02/26 PHP
解析php中die(),exit(),return的区别
2013/06/20 PHP
解决cPanel无法安装php5.2.17
2014/06/22 PHP
firefox firebug中文入门教程 脚本之家新年特别版
2010/01/02 Javascript
基于PHP+Jquery制作的可编辑的表格的代码
2011/04/10 Javascript
如何在指定的地方插入html内容和文本内容
2013/12/23 Javascript
jQuery地图map悬停显示省市代码分享
2015/08/20 Javascript
Nodejs爬虫进阶教程之异步并发控制
2016/02/15 NodeJs
javascript中apply、call和bind的使用区别
2016/04/05 Javascript
jQuery Mobile页面返回不需要重新get
2016/04/26 Javascript
Bootstrap基本组件学习笔记之导航(10)
2016/12/07 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
2017/01/18 Javascript
webpack使用 babel-loader 转换 ES6代码示例
2017/08/21 Javascript
jquery 一键复制到剪切板的实例
2017/09/20 jQuery
基于vue-video-player自定义播放器的方法
2018/03/21 Javascript
详解vue如何使用rules对表单字段进行校验
2018/10/17 Javascript
JavaScript实现身份证验证代码实例
2019/08/26 Javascript
浅谈Vue中render中的h箭头函数
2019/11/07 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
[00:20]TI9不朽观赛名额抽取
2019/08/05 DOTA
[01:06]DOTA2小知识课堂 Ep.02 吹风竟可解梦境缠绕
2019/12/05 DOTA
解决Python print 输出文本显示 gbk 编码错误问题
2018/07/13 Python
Python中numpy模块常见用法demo实例小结
2019/03/16 Python
​如何愉快地迁移到 Python 3
2019/04/28 Python
Python lambda表达式filter、map、reduce函数用法解析
2019/09/11 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
2020/04/01 Python
大四本科生的自我评价
2013/12/30 职场文书
安踏广告词改编版
2014/03/21 职场文书
《大海那边》教学反思
2014/04/09 职场文书
2014大学生中国梦主题教育学习思想汇报
2014/09/10 职场文书
学生会个人总结范文
2015/02/15 职场文书
新娘父亲婚礼致辞
2015/07/27 职场文书
Python函数式编程中itertools模块详解
2021/09/15 Python
HTML常用标签超详细整理
2022/03/19 HTML / CSS
详解Python内置模块Collections
2022/03/22 Python