首页 > 其他分享 >手机号验证正则表达式

手机号验证正则表达式

时间:2023-06-09 13:33:38浏览次数:39  
标签:tel 手机号 form 验证 正则表达式 号段 user document

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

各大运营商手机号码段(注意时效性,有可能会不全)

中国电信号段

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}$/

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

 

###

 

标签:tel,手机号,form,验证,正则表达式,号段,user,document
From: https://www.cnblogs.com/treeofb/p/17468979.html

相关文章

  • 百度随机阴影旋转验证码破解
    之前我百度没有阴影的旋转验证码,有小伙伴反馈他那里的百度验证码是有随机阴影的,原本的不带阴影的识别效果很差。所以专门针对性的做了开发识别。没有随机阴影的可以看这一篇博客《百度旋转验证码破解》识别效果可视化展示这种带随机阴影的验证码和之前没有阴影的有一点差异,特别......
  • SQLServer正则表达式
    在SQLServer中,正则表达式是一种解析和匹配文本的非常有用的工具。它可以帮助我们快速有力的查询、修改数据库中的文本数据。下面我们将讲解SQLServer中的正则表达式的一些使用方法。正则表达式是什么正则表达式是一种通用的、表达式强大的匹配模式。它是由一系列字符和特殊字符......
  • 82、需求验证
    1、需求评审是()中常用的一种方法。你的答案A需求获取B需求验证正确C需求分析D需求管理正确答案B 2、下列不属于需求验证的方法的是()。你的答案A需求评审B需求分析正确C利用跟踪关系D开发测试用例正确答案B 3、需求验证应该从下述几个方面进行验证:()你的......
  • 【Python查漏补缺(二)】正则表达式与深浅拷贝
    在开始正题之前讲一下打开文件的另一种方式。之前打开文件的方式f=open("文件路径","文件打开方式",encoding="utf8")模式描述r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开......
  • 编译安装 gcc 4.9并验证使用
    编译安装gcc4.9并验证使用1.准备环境(GCC编译器)centOS6.3cat/proc/version Linuxversion2.6.32-279.el6.x86_64([email protected])(gccversion4.4.620120305(RedHat4.4.6-4)(GCC))#1SMPFriJun2212:19:21UTC2012gcc--vers......
  • 正则表达式、re模块
    正则表达式的介绍定义:"""它是一门独立的语言,跟Python等的语言没有任何的关系,但是其他语言可以使用正则表达式来做一些功能,主要是用来筛选数据的。"""什么......
  • 75 验证码 大小写字母a_Z(随机区间需要去掉6个非法的值,不合法+6)和数字拼接
    packagecom.fqs.test;importjava.util.Random;publicclasshello{publicstaticvoidmain(String[]args){//定义方法实现随机产生一个5位的验证码//验证码格式长度5//前四位是大写的字母或者小写的字母abcD5//最后一位......
  • 正则表达式 re模块
    目录正则表达式字符组字符量词贪婪匹配和非贪婪匹配转义符\re模块常用方法无名分组和有名分组正则表达式正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻......
  • Java 表单注册常用正则表达式验证工具类
    http://springmvc-springdata.iteye.com/blog/2114555Java表单注册常用正则表达式验证工具类,常用正则表达式大集合。1.电话号码2.邮编3.QQ4.E-mail5.手机号码6.URL7.是否为数字8.是否为中文9.身份证10.域名11.IP。。。。常用验证应有尽有!这的确是您从事web开发......
  • 【转载】xsd文件验证xml的java实现
    importjava.io.File;importjava.io.IOException;importjavax.xml.transform.Source;importjavax.xml.transform.stream.StreamSource;importjavax.xml.validation.Schema;importjavax.xml.validation.SchemaFactory;importjavax.xml.validation.Validator;i......