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


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 相关文章推荐
使用jQuery时Form表单元素ID和name命名大忌
Mar 06 Javascript
JavaScript避免内存泄露及内存管理技巧
Sep 05 Javascript
28个常用JavaScript方法集锦
Jan 14 Javascript
详细解密jsonp跨域请求
Apr 15 Javascript
详解AngularJS过滤器的使用
Mar 11 Javascript
Bootstrap Table使用整理(三)
Jun 09 Javascript
基于jQuery的$.getScript方法去加载javaScript文档解析
Nov 08 jQuery
JavaScript创建对象的常用方式总结
Aug 10 Javascript
在vue项目中优雅的使用SVG的方法实例详解
Dec 03 Javascript
详解Element 指令clickoutside源码分析
Feb 15 Javascript
解决vue请求接口第一次成功,第二次失败问题
Sep 08 Javascript
vue3获取当前路由地址
Feb 18 Vue.js
前端实现滑动按钮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
《魔兽争霸3:重制版》更新 多项视觉效果调整
2020/05/04 魔兽争霸
PHP写杨辉三角实例代码
2011/07/17 PHP
PHP通过session id 实现session共享和登录验证的代码
2012/06/03 PHP
纯PHP代码实现支付宝批量付款
2015/12/24 PHP
window.open以post方式将内容提交到新窗口
2012/12/26 Javascript
iframe的onreadystatechange事件在firefox下的使用
2014/04/16 Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
2016/10/08 Javascript
Vue.js双向绑定操作技巧(初级入门)
2016/12/27 Javascript
js生成随机数方法和实例
2017/01/17 Javascript
JS实现的简单标签点击切换功能示例
2017/09/21 Javascript
Array数组对象中的forEach、map、filter及reduce详析
2018/08/02 Javascript
3分钟读懂移动端rem使用方法(推荐)
2019/05/06 Javascript
浅入深出Vue之组件使用
2019/07/11 Javascript
解决vue+elementui项目打包后样式变化问题
2020/08/03 Javascript
JavaScript 实现下雪特效的示例代码
2020/09/09 Javascript
Vue表单提交点击事件只允许点击一次的实例
2020/10/23 Javascript
在Python中使用matplotlib模块绘制数据图的示例
2015/05/04 Python
Python实现栈的方法
2015/05/26 Python
pandas DataFrame数据转为list的方法
2018/04/11 Python
Python装饰器用法实例总结
2018/05/26 Python
PyQt5实现QLineEdit添加clicked信号的方法
2019/06/25 Python
pycharm设置当前工作目录的操作(working directory)
2020/02/14 Python
基于FME使用Python过程图解
2020/05/13 Python
Pandas中DataFrame基本函数整理(小结)
2020/07/20 Python
Python 创建TCP服务器的方法
2020/07/28 Python
Lookfantastic香港官网:英国知名美妆购物网站
2018/06/19 全球购物
PHP面试题附答案
2015/11/28 面试题
企业口号大全
2014/06/12 职场文书
委托培训协议书
2014/11/17 职场文书
幼儿园教师个人总结
2015/02/05 职场文书
求职自我推荐信
2015/03/24 职场文书
酒店财务总监岗位职责
2015/04/03 职场文书
廉政承诺书2015
2015/04/28 职场文书
django上传文件的三种方式
2021/04/29 Python
详解MySQL多版本并发控制机制(MVCC)源码
2021/06/23 MySQL
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技