一組匹配中國大陸手機號碼的正則表達式

  • 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

支援

  1. 注意:由於[攜號轉網]的在部分地區已經試行,對於成功進行攜號轉網的用戶,手機號段不再能體現其當前所屬運營商。
  2. 根據工信部相關文件,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