最新最全的手机号验证正则表达式


Posted in Javascript onFebruary 24, 2022

前言

一般表单页面都需要填写手机号,校验用户输入的手机号码是否正确,就要用到正则表达式,用正则表达式来匹配手机号段,如在运营商号段内,则号码正确。因此,需要知道运营商最新的号段,如下所示:

各大运营商手机号码段(新)

中国电信号段

133、153、173、177、180、181、189、190、191、193、199

中国联通号段

130、131、132、145、155、156、166、167、171、175、176、185、186、196

中国移动号段

134(0-8)、135、136、137、138、139、1440、147、148、150、151、152、157、158、159、172、178、182、183、184、187、188、195、197、198

中国广电号段

192

其他号段

14号段部分为上网卡专属号段:中国联通145,中国移动147,中国电信149

虚拟运营商:

电信:1700、1701、1702、162
移动:1703、1705、1706、165
联通:1704、1707、1708、1709、171、167
卫星通信:1349、174
物联网:140、141、144、146、148

通过以上号段可以看出,手机号码起始1,第二位是3456789中的任意一个,第三位有的是0-9全段,有的只是部分,如下:

13和18开头的手机号是全段

13开头的手机号是全段:13 [0123456789] 比如130,131,132…139
18开头的手机号是全段:18[0123456789] 比如180,181,182…189

15和19开头的手机号后面除4外都有,无154和194

15 [012356789] 比如150,151,152,153,155…159
19 [012356789] 比如190,191,192,193,195…159

17开头的手机号后面除9外都有

17 [01235678] 比如170,171,172,173…178

14开头的手机号除2,3外都有,无142和143

14[01456879] 比如140,141,144,145…149

16开头的手机号后面只有2567

16[2567] 比如:162,165,166,167

了解了运营商的最新号段,下面就写出手机号验证的最新正则表达式:

/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/

在javascript中的示例:

<script>
	var reg_user = /^[\u4e00-\u9fa5]{2,4}$/;    //2-4个中文字符正则
	var reg_tel = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;    //11位手机号码正则
	function checkSubmit() {
		if (document.form.user.value =="") {
			alert("姓名不能为空!");
			document.form.user.focus();
			return false;
		} else if (!reg_user.test(document.form.user.value)) {
			alert("姓名只能为2-4中文!");
			document.form.user.focus();
			document.form.user.select();
			return false;
		}
		if (document.form.tel.value =="") {
			alert("请填写您的手机号码!");
			document.form.tel.focus();
			document.form.tel.select();
			return false;
		} else if (!reg_tel.test(document.form.tel.value)) {
			alert("请正确填写您的手机号码!");
			document.form.tel.focus();
			document.form.tel.select();
			return false;
		}
	}
</script>

因为手机号都是以1开始的,所以也可以这样写:

/^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/

这是把所有运营商号段写在一起的,包括虚拟运营商、物联网等,大家也可以根据项目需求来写。

表单字段验证常用正则表达式

1、姓名

/^[\u4e00-\u9fa5]{2,4}$/    //2-4个中文字符正则

2、手机号码

/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/

3、座机号码

/^(0\d{2,3})-?(\d{7,8})$/

4、电子邮箱

/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/

5、身份证号码

(1)普通校验

/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/

(2)精准校验

18位

/^[1-9]\d{5}(19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/

15位

/^[1-9]\d{5}\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{2}[0-9Xx]$/

后6位

/^(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/

6、QQ号码

/^[1-9][0-9]\d{4,9}$/

7、邮政编码

/^[1-9]\d{5}$/

8、注册账号

/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/

总结

到此这篇关于最新最全的手机号验证正则表达式的文章就介绍到这了,更多相关手机号验证正则表达式内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
一种JavaScript的设计模式
Nov 22 Javascript
IE6 fixed的完美解决方案
Mar 31 Javascript
页面定时刷新(1秒刷新一次)
Nov 22 Javascript
jquery防止重复执行动画避免页面混乱
Apr 22 Javascript
Javascript控制input输入时间格式的方法
Jan 28 Javascript
深入探究使JavaScript动画流畅的一些方法
Jun 30 Javascript
JavaScript组件开发完整示例
Dec 15 Javascript
浅谈时钟的生成(js手写简洁代码)
Aug 20 Javascript
修改jquery中dialog的title属性方法(推荐)
Aug 26 Javascript
jQuery实现获取及设置CSS样式操作详解
Sep 05 jQuery
layui 弹出层值回传解决方式
Nov 14 Javascript
vue中的过滤器及其时间格式化问题
Apr 09 Javascript
前端实现滑动按钮AJAX与后端交互的示例代码
Feb 24 #Javascript
AudioContext 实现音频可视化(web技术分享)
Feb 24 #Javascript
WebRTC记录音视频流(web技术分享)
Feb 24 #Javascript
Vue3如何理解ref toRef和toRefs的区别
Feb 18 #Vue.js
JavaScript实现酷炫的鼠标拖尾特效
Vue h函数的使用详解
Feb 18 #Vue.js
详解Vue中$props、$attrs和$listeners的使用方法
Feb 18 #Vue.js
You might like
使用adodb lite解决问题
2006/12/31 PHP
wiki-shan写的php在线加密的解密程序
2008/09/07 PHP
PHP排序之二维数组的按照字母排序实现代码
2011/08/13 PHP
php实现判断访问来路是否为搜索引擎机器人的方法
2015/04/15 PHP
10条php编程小技巧
2015/07/07 PHP
javascript 数组排序函数
2009/08/20 Javascript
基于jQuery的的一个隔行变色,鼠标移动变色的小插件
2010/07/06 Javascript
JS判断客户端是手机还是PC的2个代码
2014/04/12 Javascript
javascript学习笔记(四)function函数部分
2014/09/30 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
理解JavaScript事件对象
2016/01/25 Javascript
JS实现的五级联动菜单效果完整实例
2017/02/23 Javascript
源码分析Vue.js的监听实现教程
2017/04/23 Javascript
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
关于Vue.nextTick()的正确使用方法浅析
2017/08/25 Javascript
React性能优化系列之减少props改变的实现方法
2019/01/17 Javascript
vue2.0实现的tab标签切换效果(内容可自定义)示例
2019/02/11 Javascript
小程序简单两栏瀑布流效果的实现
2019/12/18 Javascript
webpack打包html里面img后src为“[object Module]”问题
2019/12/22 Javascript
JavaScript实现滑动门效果
2020/01/18 Javascript
Python中运算符&quot;==&quot;和&quot;is&quot;的详解
2016/10/08 Python
Python使用re模块正则提取字符串中括号内的内容示例
2018/06/01 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
2018/11/30 Python
python之Flask实现简单登录功能的示例代码
2018/12/24 Python
Python处理时间日期坐标轴过程详解
2019/06/25 Python
Python实现把多维数组展开成DataFrame
2019/11/30 Python
python怎么判断模块安装完成
2020/06/19 Python
基于Jquery和Css3代码制作可以缩放的搜索框
2015/11/19 HTML / CSS
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
宗教学大学生职业生涯规划范文
2014/02/08 职场文书
社区义诊活动总结
2014/04/30 职场文书
搞笑老公保证书
2015/02/26 职场文书
党组织结对共建协议书
2016/03/23 职场文书
2019年教师节:送给所有老师的祝福语
2019/09/05 职场文书
使用canvas对video视频某一刻截图功能
2021/09/25 HTML / CSS
CSS 鼠标选中文字后改变背景色的实现代码
2023/05/21 HTML / CSS