一组匹配中国大陆手机号码的正则表达式

2019-10-29 20:59:15 浏览数 (1)

来源: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

0 人点赞