一組匹配中國大陸手機號碼的正則表達式
- 2019 年 10 月 29 日
- 筆記
來源:http://t.cn/E5A6FK0
- 正則表達式 ([PCRE])
- 匹配所有號碼(手機卡 + 數據卡 + 上網卡)
- 匹配所有支援簡訊功能的號碼(手機卡 + 上網卡)
- 手機卡
- 虛擬運營商
- 物聯網數據卡
- 上網卡
- 在線測試/調試
- 規則
- 參考
一組匹配中國大陸手機號碼的正則表達式。
正則表達式 ([PCRE])
如果你需要 POSIX 標準的正則表達式,點擊這裡
匹配所有號碼(手機卡 + 數據卡 + 上網卡)
[^(?:+?86)?1(?:3d{3}|5[^4D]d{2}|8d{3}|7(?:[01356789]d{2}|4(?:0d|1[0-2]|9d))|9[189]d{2}|6[567]d{2}|4(?:[14]0d{3}|[68]d{4}|[579]d{2}))d{6}$
][匹配所有號碼(手機卡 + 數據卡 + 上網卡)]
匹配所有支援簡訊功能的號碼(手機卡 + 上網卡)
[^(?:+?86)?1(?:3d{3}|5[^4D]d{2}|8d{3}|7(?:[01356789]d{2}|4(?:0d|1[0-2]|9d))|9[189]d{2}|6[567]d{2}|4[579]d{2})d{6}$
][匹配所有支援簡訊功能的號碼(手機卡 + 上網卡)]
手機卡
匹配所有
[^(?:+?86)?1(?:3d{3}|5[^4D]d{2}|8d{3}|7(?:[35678]d{2}|4(?:0d|1[0-2]|9d))|9[189]d{2}|66d{2})d{6}$
][匹配基礎運營商]
匹配中國移動
[^(?:+?86)?1(?:3(?:4[^9D]|[5-9]d)|5[^3-6D]d|8[23478]d|(?:78|98)d)d{7}$
][匹配基礎運營商中國移動]
匹配中國聯通
[^(?:+?86)?1(?:3[0-2]|[578][56]|66)d{8}$
][匹配基礎運營商中國聯通]
匹配中國電信
[^(?:+?86)?1(?:3(?:3d|49)d|53d{2}|8[019]d{2}|7(?:[37]d{2}|40[0-5])|9[19]d{2})d{6}$
][匹配基礎運營商中國電信]
匹配北京船舶通訊導航有限公司(海事衛星通訊)
[^(?:+?86)?1749d{7}$
][匹配北京船舶通訊導航有限公司(海事衛星通訊)]
工業和資訊化部應急通訊保障中心(應急通訊)
[^(?:+?86)?174(?:0[6-9]|1[0-2])d{6}$
][工業和資訊化部應急通訊保障中心(應急通訊)]
虛擬運營商
匹配所有
[^(?:+?86)?1(?:7[01]|6[57])d{8}$
][匹配虛擬運營商]
匹配中國移動
[^(?:+?86)?1(?:65d|70[356])d{7}$
][匹配虛擬運營商中國移動]
匹配中國聯通
[^(?:+?86)?1(?:70[4789]|71d|67d)d{7}$
][匹配虛擬運營商中國聯通]
匹配中國電信
[^(?:+?86)?170[0-2]d{7}$
][匹配虛擬運營商中國電信]
物聯網數據卡
匹配所有
[^(?:+?86)?14(?:[14]0|[68]d)d{9}$
][匹配所有物聯網數據卡]
匹配中國移動
[^(?:+?86)?14(?:40|8d)d{9}$
][匹配物聯網中國移動]
匹配中國聯通
[^(?:+?86)?146d{10}$
][匹配物聯網中國聯通]
匹配中國電信
[^(?:+?86)?1410d{9}$
][匹配物聯網中國電信]
上網卡
匹配所有
[^(?:+?86)?14[579]d{8}$
][匹配所有上網卡]
匹配中國移動
[^(?:+?86)?147d{8}$
][匹配上網卡中國移動]
匹配中國聯通
[^(?:+?86)?145d{8}$
][匹配上網卡中國聯通]
匹配中國電信
[^(?:+?86)?149d{8}$
][匹配上網卡中國電信]
在線測試/調試
https://regex101.com https://regexr.com https://www.debuggex.com (PCRE 在線視覺化)
規則
手機卡 – 基礎運營商
- 支援語音通話 / 簡訊 / 數據流量
- 號碼長度 11 位
運營商 [1] |
號段 |
---|---|
中國移動 |
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 |
手機卡 – 虛擬運營商
- 支援語音通話 / 簡訊 / 數據流量
- 號碼長度 11 位
運營商 [1] |
號段 |
---|---|
中國移動 |
165 / 1703 / 1705 / 1706 |
中國聯通 |
167 / 1704 / 1707 / 1708 / 1709 / 171 |
中國電信 |
1700 / 1701 / 1702 |
物聯網數據卡
- 支援數據流量
- 號碼長度 13 位
運營商 [1] |
號段 |
---|---|
中國移動 |
1440X / 148XX |
中國聯通 |
146XX |
中國電信 |
1410X |
上網卡
- 支援語音通話(部分) / 簡訊 / 數據流量
- 號碼長度 11 位
運營商[1] |
號段 |
語音通話 [2] |
---|---|---|
中國移動 |
147 |
支援 |
中國聯通 |
145 |
不支援 |
中國電信 |
149 |
支援 |
- 注意:由於[攜號轉網]的在部分地區已經試行,對於成功進行攜號轉網的用戶,手機號段不再能體現其當前所屬運營商。
- 根據工信部相關文件,145 / 147 / 149 號段允許提供語音通話功能,運營商可以根據用戶需要自主決定是否提供語音通話功能。目前 147 / 149 號段已經有支援語音通話的號碼卡放出。
參考
[中中國地移動終端通訊號碼 – 維基百科]
關注更新
由於手機號碼正則表達式具有時效性,所以當任何正則表達式出現變更時,都會發布一個新版本來觸發 GitHub 的郵件系統通知所有觀察了本項目的用戶。如果您希望在任何正則表達式出現變更時及時得到通知,請觀察本項目。
[如何觀察項目新版本?]
更新日誌
2019.01.10
- 優化部分正則表達式在 JavaScript 中的兼容性。
2019.01.07
- 添加 165 號段支援。
2018.12.30
- 加入可選的國家碼匹配。
- 加入正則表達式可視化鏈接。
- 修復 17X 號段在匹配非 174X 時無法匹配(例如 178)。
- 修復排除型字符集合和排除型的字元範圍中未排除非數字。
- 優化部分正則表達式。
2018.12.29
- 添加 146 / 149 / 167 / 191 / 1440X / 148XX / 1410X / 174-00~05 / 174-06~12 / 174-9 號段支援。
2017.08.09
- 添加 166 / 198 / 199 號段支援。
2016.10.15
- 添加英文文檔。
- 添加 175 號段支援。
- 移除測試工程。
- 修復 1349 號段匹配問題。
2016.04.05
- 添加 171 號段支援。
- 分離 14* 號段匹配。
- 完善虛擬運營商號段匹配。
2014.12.19
- 初次發布。
協議
MIT