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


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获取当前路径的简单示例代码
Jan 08 Javascript
jQuery Ajax使用FormData对象上传文件的方法
Sep 07 Javascript
Vue组件tree实现树形菜单
Apr 13 Javascript
详解AngularJS ui-sref的简单使用
Apr 24 Javascript
Vue AST源码解析第一篇
Jul 19 Javascript
Node.js利用断言模块assert进行单元测试的方法
Sep 28 Javascript
webpack下实现动态引入文件方法
Feb 22 Javascript
详解Js里的for…in和for…of的用法
Mar 28 Javascript
Ajax请求时无法重定向的问题解决代码详解
Jun 21 Javascript
解决layui的table插件无法多层级获取json数据的问题
Sep 19 Javascript
微信小程序转发事件实现解析
Oct 22 Javascript
用JS写一个发布订阅模式
Nov 07 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
ThinkPHP框架实现session跨域问题的解决方法
2014/07/01 PHP
PHP学习笔记(三):数据类型转换与常量介绍
2015/04/17 PHP
使用ltrace工具跟踪PHP库函数调用的方法
2016/04/25 PHP
laravel使用数据库测试注意事项
2020/04/10 PHP
密码强度检测效果实现原理与代码
2013/01/04 Javascript
jQuery实现数秒后自动提交form的方法
2015/03/05 Javascript
javascript中sort() 方法使用详解
2015/08/30 Javascript
谈谈impress.js初步理解
2015/09/09 Javascript
laypage分页控件使用实例详解
2016/05/19 Javascript
Angular2内置指令NgFor和NgIf详解
2016/08/03 Javascript
Angular学习笔记之angular的$filter服务浅析
2016/11/12 Javascript
vue使用Axios做ajax请求详解
2017/06/07 Javascript
Bootstrap输入框组件使用详解
2017/06/09 Javascript
微信小程序如何获取用户信息
2018/01/26 Javascript
vue-cli3.0 环境变量与模式配置方法
2018/11/08 Javascript
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
Node.js 如何利用异步提升任务处理速度
2019/01/07 Javascript
vue cli3.0结合echarts3.0与地图的使用方法示例
2019/03/26 Javascript
百度小程序自定义通用toast组件
2019/07/17 Javascript
在vue和element-ui的table中实现分页复选功能
2019/12/04 Javascript
用Pygal绘制直方图代码示例
2017/12/07 Python
Python实现识别手写数字 Python图片读入与处理
2020/03/23 Python
Python实现统计给定字符串中重复模式最高子串功能示例
2018/05/16 Python
Python调用C++,通过Pybind11制作Python接口
2018/10/16 Python
在pycharm中关掉ipython console/PyDev操作
2020/06/09 Python
python如何获得list或numpy数组中最大元素对应的索引
2020/11/16 Python
Web前端绘制0.5像素的几种方法
2017/08/11 HTML / CSS
NIHAOMARKET官方海外旗舰店:意大利你好华人超市
2018/01/27 全球购物
编写一个类体现构造,公有,私有方法,静态,私有变量
2013/08/10 面试题
会议开场欢迎词
2014/01/15 职场文书
幼儿园家长会邀请函
2014/01/15 职场文书
一月红领巾广播稿
2014/02/11 职场文书
工作过失检讨书
2014/02/23 职场文书
2016年党员干部廉政承诺书
2016/03/24 职场文书
Python anaconda安装库命令详解
2021/10/16 Python
Python中npy和mat文件的保存与读取
2022/04/24 Python