1. 程式人生 > >最新手機號碼檢驗正則表示式

最新手機號碼檢驗正則表示式

電信·

中國電信手機號碼開頭數字
2G/3G號段(CDMA2000網路)133、153、180、181、189
4G號段 177

聯通

中國聯通手機號碼開頭數字
2G號段(GSM網路)130、131、132、155、156
3G上網絡卡145
3G號段(WCDMA網路)185、186
4G號段 176、185[1]

移動

中國移動手機號碼開頭數字
2G號段(GSM網路)有134x(0-8)、135、136、137、138、139、150、151、152、158、159、182、183、184。
3G號段(TD-SCDMA網路)有157、187、188
3G上網絡卡 147
4G號段 178

從以上我們可以看到第一位是【1】開頭,第二位則則有【3,4,5,7,8】,第三位則是【0-9】,第三位之後則是數字【0-9】。從而我們可以得出一個符合當前的手機號碼驗證

正則表示式。

var reg = /^1[3|4|5|7|8][0-9]{9}$/; //驗證規則

var phoneNum = '15507621999';//手機號碼

var flag = reg.test(phoneNum); //true

但你想過沒有,也許這個第二位程式碼可能隨時增加一個,比如以16開頭呢?19開頭呢?誰知道以後的事,咱們的程式碼要保證幾年沒問題,所以還可以不驗證第二位規則:

var reg = /^1[0-9]{10}$/;
2017年11月16日,中華人民共和國工業和資訊化部(以下簡稱“工信部”)在其官方網站上釋出了《2017年第10批<電信網碼號資源使用證書>頒發結果公示及領證通知》(以下簡稱《通知》)。公示結果顯示,中國電信獲得了199(0~9)號段的公眾行動通訊網網號,198(0~9)號段的公眾行動通訊網網號被中國移動獲得,中國聯通則將166(0~9)號段的公眾行動通訊網網號收入囊中。
var reg = /^0?(13[0-9]|15[012356789]|18[012346789]|14[57]|17[678]|170[059]|14[57]|166|19[89])[0-9]{8}$/;

中國移動:134、135、136、137、138、139、150、151、152、157(TD)、158、159、182、183、184、187、178、188、147(資料卡號段)、1705(虛擬運營商移動號段)

  中國聯通:130、131、132、145(資料卡號段)、155、156、176、185、186、1709(虛擬運營商聯通號段)

  中國電信:133、153、177、180、181、189、(1349衛通)、1700(虛擬運營商電訊號段)