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


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 相关文章推荐
js取得html iframe中的元素和变量值
Jun 30 Javascript
Javascript实现获取窗口的大小和位置代码分享
Dec 04 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
Aug 05 Javascript
浅谈jquery的html方法里包含特殊字符的处理
Nov 30 Javascript
React中使用collections时key的重要性详解
Aug 07 Javascript
View.post() 不靠谱的地方你知道多少
Aug 29 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
Oct 26 Javascript
vue checkbox 全选 数据的绑定及获取和计算方法
Feb 09 Javascript
js获取html页面代码中图片地址的实现代码
Mar 05 Javascript
element UI upload组件上传附件格式限制方法
Sep 04 Javascript
JS中间件设计模式的深入探讨与实例分析
Apr 11 Javascript
JS继承实现方法及优缺点详解
Sep 02 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
咖啡因含量是由谁决定的?低因咖啡怎么来?低因咖啡适合什么人喝
2021/03/06 新手入门
JAVA/JSP学习系列之四
2006/10/09 PHP
PHP5 安装方法
2006/10/09 PHP
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
2009/05/28 PHP
php操纵mysqli数据库的实现方法
2016/09/18 PHP
redirect_uri参数错误的解决方法(必看)
2017/02/16 PHP
统计PHP目录中的文件数方法
2019/03/05 PHP
ThinkPHP3.2框架操作Redis的方法分析
2019/05/05 PHP
php使用event扩展的io复用测试的示例
2020/10/20 PHP
PHP tp5中使用原生sql查询代码实例
2020/10/28 PHP
PHP扩展安装方法步骤解析
2020/11/24 PHP
使用js获取QueryString的方法小结
2010/02/28 Javascript
JavaScript 语言基础知识点总结(思维导图)
2013/11/10 Javascript
jQuery ui实现动感的圆角渐变网站导航菜单效果代码
2015/08/26 Javascript
IE和Firefox之间在JavaScript语法上的差异
2016/04/22 Javascript
js定义类的几种方法(推荐)
2016/06/08 Javascript
Easyui Datagrid自定义按钮列(最后面的操作列)
2017/07/13 Javascript
jquery操作ul的一些操作笔记整理(干货)
2017/08/31 jQuery
jQuery选择器之子元素过滤选择器
2017/09/28 jQuery
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
2018/01/09 Javascript
js中的 || 与 &amp;&amp; 运算符详解
2018/05/24 Javascript
ElementUI 修改默认样式的几种办法(小结)
2020/07/29 Javascript
[09:37]2018DOTA2国际邀请赛寻真——不懈追梦的Team Serenity
2018/08/13 DOTA
Linux下Python获取IP地址的代码
2014/11/30 Python
python enumerate函数的使用方法总结
2017/11/15 Python
教你用一行Python代码实现并行任务(附代码)
2018/02/02 Python
python利用小波分析进行特征提取的实例
2019/01/09 Python
python常用函数与用法示例
2019/07/02 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
python实现学生信息管理系统(精简版)
2020/11/27 Python
英国家具、照明、家居用品网上商店:Wayfair.co.uk
2020/02/13 全球购物
鉴定评语大全
2014/05/05 职场文书
学习十八大宣传标语
2014/10/09 职场文书
小学生禁毒教育心得体会
2016/01/15 职场文书
教育教学工作反思
2016/02/24 职场文书
MySQL 8.0 之不可见列的基本操作
2021/05/20 MySQL