最新手机号正则表达式 java 、javascript版正则表达式验证是否为11位有效手机号码

最近在做注册登陆页面,都要涉及到验证11位有效手机号码,这里贴出代码,希望能帮到有这个开发需求的朋友。

function isPoneAvailable($poneInput) {
            var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;
            if (!myreg.test($poneInput.val())) {
                return false;
            } else {
                return true;
            }
        }


这里我直接封装在一个方法中,需要用的时候传入一个input的jq对象即可。当然,您也可以直接传入字符串,如:

function isPoneAvailable(str) {
            var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;
            if (!myreg.test(str)) {
                return false;
            } else {
                return true;
            }
        }

这里的重点是这个正则表达式: 

var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;

这个表达式的意思是:

1--以1为开头;

2--第二位可为3,4,5,7,8,中的任意一位;

3--最后以0-9的9个整数结尾。

 本来只容13,15,17,18,开头的手机号,但是测试mm说有14开头的号码,所以添加了14;当然,如果以后要是发展成有16,或者19,之类的开头号码的话,在

 [3,4,5,7,8]

中添加即可。 

复制代码
 // 判断是否为手机号
  isPoneAvailable: function (pone) {
    var myreg = /^[1][3,4,5,7,8][0-9]{9}$/;
    if (!myreg.test(pone)) {
      return false;
    } else {
      return true;
    }
  },
  // 判断是否为电话号码
  isTelAvailable: function (tel) {
    var myreg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;
    if (!myreg.test(tel)) {
      return false;
    } else {
      return true;
    }
  },
复制代码

 

最新、最全、最准确的手机号正则表达式

更新到2018年5月,支持最新的166号段

 

/**
 * Java 使用
 */
String PHONE_NUMBER_REG = "^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\\d{8}$";

 

/**
 * JS 使用
 */
"18016381232".match(/^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/)

 



posted @   奔跑的太阳花  阅读(3805)  评论(2编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示