0
点赞
收藏
分享

微信扫一扫

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

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

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

中国电信号段

中国联通号段

中国移动号段

中国广电号段

其他号段

虚拟运营商:

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

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

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

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

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

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

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

/^(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 = /^[一-龥]{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、姓名

/^[一-龥]{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、座机号码

/^(0d{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}$/
举报

相关推荐

0 条评论