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 相关文章推荐
通用JS事件写法实现代码
Jan 07 Javascript
Javascript Global对象
Aug 13 Javascript
跟我学习javascript的垃圾回收机制与内存管理
Nov 23 Javascript
d3.js中冷门却实用的内置函数总结
Feb 04 Javascript
jquery.cookie.js的介绍与使用方法
Feb 09 Javascript
iOS + node.js使用Socket.IO框架进行实时通信示例
Apr 14 Javascript
JavaScript变量类型以及变量作用域详解
Aug 14 Javascript
JS中Map和ForEach的区别
Feb 05 Javascript
详解Vue文档中几个易忽视部分的剖析
Mar 24 Javascript
深入理解js 中async 函数的含义和用法
May 13 Javascript
详解关于vue2.0工程发布上线操作步骤
Sep 27 Javascript
微信 jssdk 签名错误invalid signature的解决方法
Jan 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
PHP 无限分类三种方式 非函数的递归调用!
2011/08/26 PHP
php中用date函数获取当前时间有误的解决办法
2013/08/02 PHP
php求两个目录的相对路径示例(php获取相对路径)
2014/03/27 PHP
Javascript与PHP验证用户输入URL地址是否正确
2014/10/09 PHP
用php守护另一个php进程的例子
2015/02/13 PHP
php判断文件夹是否存在不存在则创建
2015/04/09 PHP
php读取txt文件并将数据插入到数据库
2016/02/23 PHP
laravel 框架配置404等异常页面
2019/01/07 PHP
用javascript getComputedStyle获取和设置style的原理
2008/10/10 Javascript
仿百度输入框智能提示的js代码
2013/08/22 Javascript
JS版微信6.0分享接口用法分析
2016/10/13 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
vue-quill-editor实现图片上传功能
2017/08/08 Javascript
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
Vue Router去掉url中默认的锚点#
2018/08/01 Javascript
Vue框架下引入ActiveX控件的问题解决
2019/03/25 Javascript
vue获取时间戳转换为日期格式代码实例
2019/04/17 Javascript
基于JS实现父组件的请求服务过程解析
2019/10/14 Javascript
jquery validate 实现动态增加/删除验证规则操作示例
2019/10/28 jQuery
小程序采集录音并上传到后台
2019/11/22 Javascript
jdk1.8+vue elementui实现多级菜单功能
2020/09/24 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
[00:53]TI3正赛第三天 DK怒破A队不败金身 现场国旗飘扬热血激昂
2013/08/10 DOTA
Python实现队列的方法
2015/05/26 Python
python 自动化将markdown文件转成html文件的方法
2016/09/23 Python
python向字符串中添加元素的实例方法
2019/06/28 Python
TensorFlow实现保存训练模型为pd文件并恢复
2020/02/06 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
2020/03/19 Python
使用python处理题库表格并转化为word形式的实现
2020/04/14 Python
vscode配置anaconda3的方法步骤
2020/08/08 Python
美国在线面料商店:Fashion Fabrics Club
2020/01/31 全球购物
给校长的一封建议书
2014/03/12 职场文书
四风问题对照检查材料整改措施
2014/09/27 职场文书
2015年化妆品销售工作总结
2015/05/11 职场文书
初中语文教师研修日志
2015/11/13 职场文书
初中运动会闭幕词范本3篇
2019/12/09 职场文书