一般表單頁面都需要填寫手機號,校驗用戶輸入的手機號碼是否正確,就要用到正則表達式,用正則表達式來匹配手機號段,如在運營商號段內,則號碼正確。因此,需要知道運營商最新的號段,如下所示:
各大運營商手機號碼段(新)
中國電信號段
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-3,5-9]|16[2567]|17[0-8]|18[0-9]|19[0-3,5-9])d{8}$/
在JavaScript中的示例:
<script>
var reg_user = /^[u4e00-u9fa5]{2,4}$/; //2-4個中文字符正則
var reg_tel = /^(13[0-9]|14[01456879]|15[0-3,5-9]|16[2567]|17[0-8]|18[0-9]|19[0-3,5-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-3,5-9]|6[2567]|7[0-8]|8[0-9]|9[0-3,5-9])d{8}$/
這是把所有運營商號段寫在一起的,包括虛擬運營商、物聯網等,大家也可以根據項目需求來寫。
表單字段驗證常用正則表達式
1、姓名
/^[u4e00-u9fa5]{2,4}$/ //2-4個中文字符正則
2、手機號碼
/^(13[0-9]|14[01456879]|15[0-3,5-9]|16[2567]|17[0-8]|18[0-9]|19[0-3,5-9])d{8}$/
3、座機號碼
https://www.houdianzi.com/ logo設計公司
/^(0d{2,3})-?(d{7,8})$/
4、電子郵箱
/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/
5、身份證號碼
/(^d{15}$)|(^d{18}$)|(^d{17}(d|X|x)$)/
6、QQ號碼
/^[1-9][0-9]d{4,9}$/
7、郵政編碼
/^[1-9]d{5}$/
8、注冊賬號
/^[a-zA-Z][a-zA-Z0-9_]{4,1