最新最全的手機號驗證正則表達式

前言

一般表單頁面都需要填寫手機號,校驗用戶輸入的手機號碼是否正確,就要用到正則表達式,用正則表達式來匹配手機號段,如在運營商號段內,則號碼正確。因此,需要知道運營商最新的號段,如下所示:

各大運營商手機號碼段(新)

中國電信號段

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

總結

到此這篇關於最新最全的手機號驗證正則表達式的文章就介紹到這瞭,更多相關手機號驗證正則表達式內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: