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学习资源站点
Aug 29 Javascript
range 标准化之获取
Aug 28 Javascript
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
Feb 07 Javascript
JavaScript调试技巧之console.log()详解
Mar 19 Javascript
js图片处理示例代码
May 12 Javascript
node.js中的console.trace方法使用说明
Dec 09 Javascript
jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
Jun 07 Javascript
jQuery Checkbox 全选 反选的简单实例
Nov 29 Javascript
纯js三维数组实现三级联动效果
Feb 07 Javascript
JS高级技巧(简洁版)
Jul 29 Javascript
JavaScript数组、json对象、eval()函数用法实例分析
Feb 21 Javascript
在vue+element ui框架里实现lodash的debounce防抖
Nov 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
手把手教你打印出PDF(关于fpdf的简单应用)
2013/06/25 PHP
使用PHP Socket写的POP3类
2013/10/30 PHP
php日历制作代码分享
2014/01/20 PHP
PHP中unset,array_splice删除数组中元素的区别
2014/07/28 PHP
PHP制作万年历
2015/01/07 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
2020/05/02 PHP
Javascript 文件夹选择框的两种解决方案
2009/07/01 Javascript
qq悬浮代码(兼容各个浏览器)
2014/01/29 Javascript
javascript 处理null及null值示例
2014/06/09 Javascript
Enter回车切换输入焦点实现思路与代码兼容各大浏览器
2014/09/01 Javascript
JavaScript中最简洁的编码html字符串的方法
2014/10/11 Javascript
JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)
2014/10/17 Javascript
深入浅析NodeJs并发异步的回调处理
2015/12/21 NodeJs
详解js中class的多种函数封装方法
2016/01/03 Javascript
如何判断Javascript对象是否存在的简单实例
2016/05/18 Javascript
JavaScript第一篇之实现按钮全选、功能
2016/08/21 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
vue的全局提示框组件实例代码
2018/02/26 Javascript
部署vue+Springboot前后端分离项目的步骤实现
2020/05/31 Javascript
初学Python实用技巧两则
2014/08/29 Python
Python基础之函数用法实例详解
2014/09/10 Python
python中安装模块包版本冲突问题的解决
2017/05/02 Python
Python实现发送QQ邮件的封装
2017/07/14 Python
django 2.0更新的10条注意事项总结
2018/01/05 Python
pandas多级分组实现排序的方法
2018/04/20 Python
Python闭包和装饰器用法实例详解
2019/05/22 Python
Django中文件上传和文件访问微项目的方法
2020/04/27 Python
英国灯具和灯泡网上商店:Lights.co.uk
2018/02/02 全球购物
如何实现一个自定义类的序列化
2012/05/22 面试题
教师校本培训方案
2014/02/26 职场文书
出纳会计岗位职责
2014/03/12 职场文书
法律顾问服务方案
2014/05/15 职场文书
大学生村官考核材料
2014/05/23 职场文书
综治工作汇报材料
2014/10/27 职场文书
感恩主题班会教案
2015/08/12 职场文书
nginx优化的六点方法
2021/03/31 Servers