前言
一般表单页面都需要填写手机号,校验用户输入的手机号码是否正确,就要用到正则表达式,用正则表达式来匹配手机号段,如在运营商号段内,则号码正确。因此,需要知道运营商最新的号段,如下所示:
各大运营商手机号码段(新)
中国电信号段
中国联通号段
中国移动号段
中国广电号段
其他号段
虚拟运营商:
通过以上号段可以看出,手机号码起始1,第二位是3456789中的任意一个,第三位有的是0-9全段,有的只是部分,如下:
13和18开头的手机号是全段
17开头的手机号后面除9外都有
了解了运营商的最新号段,下面就写出手机号验证的最新正则表达式:
/^(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}$/
总结
到此这篇关于最新最全的手机号验证正则表达式的文章就介绍到这了,更多相关手机号验证正则表达式内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did36514