歡迎光臨
每天分享高質量文章

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

  • 正則運算式 ([PCRE])
    • 匹配所有號碼(手機卡 + 資料卡 + 上網絡卡)
    • 匹配所有支援簡訊功能的號碼(手機卡 + 上網絡卡)
    • 手機卡
    • 虛擬運營商
    • 物聯網資料卡
    • 上網絡卡
  • 線上測試/除錯
  • 規則
  • 參考

一組匹配中國大陸手機號碼的正則運算式。

正則運算式 ([PCRE])

如果你需要 POSIX 標準的正則運算式,點選這裡

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

[^(?:\+?86)?1(?:3\d{3}|5[^4\D]\d{2}|8\d{3}|7(?:[01356789]\d{2}|4(?:0\d|1[0-2]|9\d))|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(?:[01356789]\d{2}|4(?:0\d|1[0-2]|9\d))|9[189]\d{2}|6[567]\d{2}|4[579]\d{2})\d{6}$][匹配所有支援簡訊功能的號碼(手機卡 + 上網絡卡)]

手機卡

匹配所有

[^(?:\+?86)?1(?:3\d{3}|5[^4\D]\d{2}|8\d{3}|7(?:[35678]\d{2}|4(?:0\d|1[0-2]|9\d))|9[189]\d{2}|66\d{2})\d{6}$][匹配基礎運營商]

匹配中國移動

[^(?:\+?86)?1(?:3(?:4[^9\D]|[5-9]\d)|5[^3-6\D]\d|8[23478]\d|(?:78|98)\d)\d{7}$][匹配基礎運營商中國移動]

匹配中國聯通

[^(?:\+?86)?1(?:3[0-2]|[578][56]|66)\d{8}$][匹配基礎運營商中國聯通]

匹配中國電信

[^(?:\+?86)?1(?:3(?:3\d|49)\d|53\d{2}|8[019]\d{2}|7(?:[37]\d{2}|40[0-5])|9[19]\d{2})\d{6}$][匹配基礎運營商中國電信]

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

[^(?:\+?86)?1749\d{7}$][匹配北京船舶通訊導航有限公司(海事衛星通訊)]

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

[^(?:\+?86)?174(?:0[6-9]|1[0-2])\d{6}$][工業和資訊化部應急通訊保障中心(應急通訊)]

虛擬運營商

匹配所有

[^(?:\+?86)?1(?:7[01]|6[57])\d{8}$][匹配虛擬運營商]

匹配中國移動

[^(?:\+?86)?1(?:65\d|70[356])\d{7}$][匹配虛擬運營商中國移動]

匹配中國聯通

[^(?:\+?86)?1(?:70[4789]|71\d|67\d)\d{7}$][匹配虛擬運營商中國聯通]

匹配中國電信

[^(?:\+?86)?170[0-2]\d{7}$][匹配虛擬運營商中國電信]

物聯網資料卡

匹配所有

[^(?:\+?86)?14(?:[14]0|[68]\d)\d{9}$][匹配所有物聯網資料卡]

匹配中國移動

[^(?:\+?86)?14(?:40|8\d)\d{9}$][匹配物聯網中國移動]

匹配中國聯通

[^(?:\+?86)?146\d{10}$][匹配物聯網中國聯通]

匹配中國電信

[^(?:\+?86)?1410\d{9}$][匹配物聯網中國電信]

上網絡卡

匹配所有

[^(?:\+?86)?14[579]\d{8}$][匹配所有上網絡卡]

匹配中國移動

[^(?:\+?86)?147\d{8}$][匹配上網絡卡中國移動]

匹配中國聯通

[^(?:\+?86)?145\d{8}$][匹配上網絡卡中國聯通]

匹配中國電信

[^(?:\+?86)?149\d{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



歡迎加入我的知識星球,一起探討架構,交流原始碼。加入方式,長按下方二維碼噢

已在知識星球更新原始碼解析如下:

人若無名

專心練劍

2019走你

好看嗎?↓

贊(0)

分享創造快樂