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 相关文章推荐
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.3
Mar 22 Javascript
浅析JavaScript中的隐式类型转换
Dec 05 Javascript
JS获得多个同name 的input输入框的值的实现方法
Jan 09 Javascript
基于JS实现bookstore静态页面的实例代码
Feb 22 Javascript
详解数组Array.sort()排序的方法
May 09 Javascript
Angular2.js实现表单验证详解
Jun 23 Javascript
js 简易版滚动条实例(适用于移动端H5开发)
Jun 26 Javascript
jQuery选择器之表单元素选择器详解
Sep 19 jQuery
详解使用VueJS开发项目中的兼容问题
Aug 02 Javascript
vue data恢复初始化数据的实现方法
Oct 31 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
Aug 24 Javascript
一文搞懂redux在react中的初步用法
Jun 09 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
PHP5.0对象模型探索之抽象方法和抽象类
2006/09/05 PHP
关于页面优化和伪静态
2009/10/11 PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
2014/06/21 PHP
php中ob_get_length缓冲与获取缓冲长度实例
2014/11/20 PHP
php购物车实现方法
2015/01/03 PHP
tp5框架基于ajax实现异步删除图片的方法示例
2020/02/10 PHP
Jquery调用webService远程访问出错的解决方法
2010/05/21 Javascript
JS控制一个DIV层在指定时间内消失的方法
2014/02/17 Javascript
javascript中setTimeout的问题解决方法
2014/05/08 Javascript
JavaScript获取路径设计源码
2014/05/22 Javascript
JavaScript中apply方法的应用技巧小结
2016/09/29 Javascript
纯JS实现简单的日历
2017/06/26 Javascript
深入理解vue.js中$watch的oldvalue与newValue
2017/08/07 Javascript
微信小程序tabBar模板用法实例分析【附demo源码下载】
2017/11/28 Javascript
详解Angular结合zTree异步加载节点数据
2018/01/20 Javascript
用node-webkit把web应用打包成桌面应用(windows环境)
2018/02/01 Javascript
vue实现设置载入动画和初始化页面动画效果
2019/10/28 Javascript
vue表单数据交互提交演示教程
2019/11/13 Javascript
JS数组方法reduce的用法实例分析
2020/03/03 Javascript
Python+Django在windows下的开发环境配置图解
2009/11/11 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
2017/11/30 Python
详解Django+Uwsgi+Nginx 实现生产环境部署
2018/11/06 Python
python两个_多个字典合并相加的实例代码
2019/12/26 Python
Python如何把字典写入到CSV文件的方法示例
2020/08/23 Python
一款html5 canvas实现的图片玻璃碎片特效
2014/09/11 HTML / CSS
美国手机支架公司:PopSockets
2019/11/27 全球购物
BannerBuzz加拿大:在线定制横幅印刷、广告和标志
2020/03/10 全球购物
品质口号大全
2014/06/17 职场文书
共青团员自我评价范文
2014/09/14 职场文书
师德师风个人自我剖析材料
2014/09/27 职场文书
公安局副政委班子个人对照检查材料
2014/10/04 职场文书
店铺转让协议书
2014/12/02 职场文书
黄山导游词
2015/01/31 职场文书
前台文员岗位职责
2015/02/04 职场文书
导游词之河北邯郸
2019/09/12 职场文书
pycharm安装深度学习pytorch的d2l包失败问题解决
2022/03/25 Python