1. 程式人生 > >正則表示式——匹配中國大陸手機號碼

正則表示式——匹配中國大陸手機號碼

一、匹配所有號碼(手機卡 + 資料卡 + 上網絡卡)

^(?:\+?86)?1(?:3\d{3}|5[^4\D]\d{2}|8\d{3}|7[^29\D](?(?<=4)(?:0\d|1[0-2]|9\d)|\d{2})|9[189]\d{2}|6[567]\d{2}|4(?:[14]0\d{3}|[68]\d{4}|[579]\d{2}))\d{6}$

二、匹配所有支援簡訊功能的號碼(手機卡 + 上網絡卡) 

^(?:\+?86)?1(?:3\d{3}|5[^4\D]\d{2}|8\d{3}|7[^29\D](?(?<=4)(?:0\d|1[0-2]|9\d)|\d{2})|9[189]\d{2}|6[567]\d{2}|4[579]\d{2})\d{6}$

三、手機卡

1、匹配所有 

^(?:\+?86)?1(?:3\d{3}|5[^4\D]\d{2}|8\d{3}|7[^0129\D](?(?<=4)(?:0\d|1[0-2]|9\d)|\d{2})|9[189]\d{2}|66\d{2})\d{6}$

2、匹配中國移動

^(?:\+?86)?1(?:3[^0-3\D](?(?<=4)[^9\D]|\d)|5[^3-6\D]\d|8[23478]\d|(?:78|98)\d)\d{7}$

3、匹配中國聯通

^(?:\+?86)?1(?:3[0-2]|[578][56]|66)\d{8}$

4、匹配中國電信

^(?:\+?86)?1(?:3[34](?(?<=4)(?:9)|\d)\d|53\d{2}|8[019]\d{2}|7[347](?(?<=4)(?:0[0-5])|\d{2})|9[19]\d{2})\d{6}$

5、匹配北京船舶通訊導航有限公司(海事衛星通訊)

^(?:\+?86)?1749\d{7}$

6、工業和資訊化部應急通訊保障中心(應急通訊)

^(?:\+?86)?174(?:0[6-9]|1[0-2])\d{6}$

四、虛擬運營商

1、匹配所有

^(?:\+?86)?1(?:7[01]|6[57])\d{8}$

2、匹配中國移動

^(?:\+?86)?1(?:65\d|70[356])\d{7}$

3、匹配中國聯通

^(?:\+?86)?1(?:70[4789]|71\d|67\d)\d{7}$

4、匹配中國電信

^(?:\+?86)?170[0-2]\d{7}$

五、物聯網資料卡

1、匹配所有

^(?:\+?86)?14(?:[14]0|[68]\d)\d{9}$

2、匹配中國移動

^(?:\+?86)?14(?:40|8\d)\d{9}$

3、匹配中國聯通

^(?:\+?86)?146\d{10}$

4、匹配中國電信

^(?:\+?86)?1410\d{9}$ 

六、上網絡卡

1、匹配所有

^(?:\+?86)?14[579]\d{8}$

2、匹配中國移動

^(?:\+?86)?147\d{8}$

3、匹配中國聯通

^(?:\+?86)?145\d{8}$

4、匹配中國電信

^(?:\+?86)?149\d{8}$

七、線上測試/除錯

https://regex101.com
https://regexr.com
https://www.debuggex.com

八、規則

1、手機卡 - 基礎運營商

  • 支援語音通話 / 簡訊 / 資料流量
  • 號碼長度 11 位
運營商 號段
中國移動 134-0~8 / 135 / 136 / 137 / 138 / 139 / 150 / 151 / 152 / 157 / 158 / 159 / 178 / 182 / 183 / 184 / 187 / 188 / 198
中國聯通 130 / 131 / 132 / 155 / 156 / 166 / 175 / 176 / 185 / 186
中國電信 133 / 134-9 / 153 / 173 / 174-00~05 / 177 / 180 / 181 / 189 / 191 / 199
北京船舶通訊導航有限公司(海事衛星通訊) 174-9
工業和資訊化部應急通訊保障中心(應急通訊) 174-06~12

2、手機卡 - 虛擬運營商

  • 支援語音通話 / 簡訊 / 資料流量
  • 號碼長度 11 位
運營商 [1] 號段
中國移動 165 / 1703 / 1705 / 1706
中國聯通 167 / 1704 / 1707 / 1708 / 1709 / 171
中國電信 1700 / 1701 / 1702

3、物聯網資料卡

  • 支援資料流量
  • 號碼長度 13 位
運營商 [1] 號段
中國移動 1440X / 148XX
中國聯通 146XX
中國電信 1410X

4、上網絡卡

  • 支援語音通話(部分) / 簡訊 / 資料流量
  • 號碼長度 11 位
運營商[1] 號段 語音通話 [2]
中國移動 147 支援
中國聯通 145 不支援
中國電信 149 支援

九、注意

1. 由於攜號轉網的在部分地區已經試行,對於成功進行攜號轉網的使用者,手機號段不再能體現其當前所屬運營商。

2. 根據工信部相關檔案,145 / 147 / 149 號段允許提供語音通話功能,運營商可以根據使用者需要自主決定是否提供語音通話功能。目前 147 / 149 號段已經有支援語音通話的號碼卡放出。

十、參考

中國內地移動終端通訊號碼 - 維基百科

ChinaMobilePhoneNumberRegex