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中Math对象使用说明
Jan 16 Javascript
自己开发Dojo的建议框架
Sep 24 Javascript
JavaScript DOM学习第四章 getElementByTagNames
Feb 19 Javascript
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
Oct 16 Javascript
javascript级联下拉列表实例代码(自写)
May 10 Javascript
Javascript基础知识盲点总结之函数
May 15 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
Jun 13 Javascript
JavaScrip关于创建常量的知识点
Dec 07 Javascript
详解如何优雅地在React项目中使用Redux
Dec 28 Javascript
AngularJS监听ng-repeat渲染完成的方法
Mar 20 Javascript
小试小程序云开发(小结)
Jun 06 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
Nov 23 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/ThinkPHP实现批量打包下载文件的方法示例
2017/07/31 PHP
php实现单笔转账到支付宝功能
2018/10/09 PHP
禁止刷新,回退的JS
2006/11/25 Javascript
用jquery与css打造个性化的单选框和复选框
2010/10/20 Javascript
js封装的textarea操作方法集合(兼容很好)
2010/11/16 Javascript
jquery之超简单的div显示和隐藏特效demo(分享)
2013/07/09 Javascript
子窗体与父窗体传值示例js代码
2013/08/01 Javascript
JS 有趣的eval优化输入验证实例代码
2013/09/22 Javascript
Ajax同步与异步传输的示例代码
2013/11/21 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
2014/04/14 Javascript
Javascript中Array用法实例分析
2015/06/13 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
2015/07/27 Javascript
jquery马赛克拼接翻转效果代码分享
2015/08/24 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
微信小程序 switch组件详解及简单实例
2017/01/10 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
Easyui Datagrid自定义按钮列(最后面的操作列)
2017/07/13 Javascript
JS实现table表格内针对某列内容进行即时搜索筛选功能
2018/05/11 Javascript
记一次webpack3升级webpack4的踩坑经历
2018/06/12 Javascript
vue如何搭建多页面多系统应用
2020/06/17 Javascript
JS算法教程之字符串去重与字符串反转
2020/12/15 Javascript
举例讲解Django中数据模型访问外键值的方法
2015/07/21 Python
PyTorch上搭建简单神经网络实现回归和分类的示例
2018/04/28 Python
python 实现返回一个列表中出现次数最多的元素方法
2019/06/11 Python
关于python中plt.hist参数的使用详解
2019/11/28 Python
解决tensorflow/keras时出现数组维度不匹配问题
2020/06/29 Python
python 实现简易的记事本
2020/11/30 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
2020/12/03 Python
CSS3实现自定义Checkbox特效实例代码
2017/04/24 HTML / CSS
css3 边框、背景、文本效果的实现代码
2018/03/21 HTML / CSS
CSS3实现歌词进度文字颜色填充变化动态效果的思路详解
2020/06/02 HTML / CSS
TOWER London官网:鞋子、靴子、运动鞋等
2019/07/14 全球购物
博士毕业生自我鉴定范文
2014/04/13 职场文书
高三上学期学习自我评价
2014/04/23 职场文书
贴吧吧主申请感言
2015/08/03 职场文书
Python 机器学习工具包SKlearn的安装与使用
2021/05/14 Python