ChinaMobilePhoneNumberRegex

Regular expressions that match the mobile phone number in mainland China. / 一组匹配中国大陆手机号码的正则表达式。

Github星跟踪图

ChinaMobilePhoneNumberRegex

中文文档

A set of regular expressions to match the mobile phone number in mainland China.

Limitation

The mobile number portability(MNP) service in mainland China has been officially available on December 1, 2019, China Standard Time. It is no longer accurate to detect carriers by mobile phone numbers. However, there is no alternative.

Regular Expressions (PCRE)

If you need POSIX standard regular expressions, Click here.

Match all numbers (Phone number + IoT number + Data only number)

^(?:\+?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[01356789]\d{2}, 6[2567]\d{2}, 4(?:[14]0\d{3}, [68]\d{4}, [579]\d{2}))\d{6}$

Match all numbers with SMS (Phone number + Data only number)

^(?:\+?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[01356789]\d{2}, 6[2567]\d{2}, 4[579]\d{2})\d{6}$

Mobile phone number

Match all

^(?:\+?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[01356789]\d{2}, 66\d{2})\d{6}$

Match China Mobile

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

Match China Unicom

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

Match China Telecom

^(?:\+?86)?1(?:3(?:3\d, 49)\d, 53\d{2}, 8[019]\d{2}, 7(?:[37]\d{2}, 40[0-5]), 9[139]\d{2})\d{6}$

Match Inmarsat (Satellite Communications)

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

Match Emergency Communication Support Center of MIIT (Emergency communications)

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

MVNO number

Match all

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

Match China Mobile

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

Match China Unicom

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

Match China Telecom

^(?:\+?86)?1(?:70[012], 62\d)\d{7}$

IoT number

Match all

^(?:\+?86)?14(?:[14]0\d, [68]\d{2})\d{8}$

Match China Mobile

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

Match China Unicom

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

Match China Telecom

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

Data only number

Match all

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

Match China Mobile

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

Match China Unicom

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

Match China Telecom

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

Test/Debug Online

https://regex101.com
https://regexr.com
https://www.debuggex.com (PCRE visualizer)

Rules

Carrier

  • Voice calls / SMS / Data traffic

  • 11 digits, Carrier [1], Prefix, ---, ---, China Mobile, 134-0~8 / 135 / 136 / 137 / 138 / 139 / 150 / 151 / 152 / 157 / 158 / 159 / 178 / 182 / 183 / 184 / 187 / 188 / 195 / 197 / 198, China Unicom, 130 / 131 / 132 / 155 / 156 / 166 / 175 / 176 / 185 / 186 / 196, China Telecom, 133 / 134-9 / 153 / 173 / 174-00~05 / 177 / 180 / 181 / 189 / 190 / 191 / 193 / 199, Inmarsat (Satellite) [2], 174-9, Emergency Communication Support Center of MIIT (Emergency communications), 174-06~12, #### MVNO

  • Voice calls / SMS / Data traffic

  • 11 digits, Carrier [1], Prefix, ---, ---, China Mobile, 165 / 1703 / 1705 / 1706, China Unicom, 167 / 1704 / 1707 / 1708 / 1709 / 171, China Telecom, 162 / 1700 / 1701 / 1702, #### IoT

  • Data traffic

  • 13 digits, Carrier [1], Prefix, ---, ---, China Mobile, 1440X / 148XX, China Unicom, 146XX, China Telecom, 1410X, #### Data-plans only

  • Voice calls (Partial) / SMS / Data traffic

  • 11 digits, Carrier [1], Prefix, Voice calls [3], ---, ---, ---, China Mobile, 147, Yes, China Unicom, 145, No, China Telecom, 149, Yes, 1. Since MNP has been piloted in some areas, for users who have changed to another carrier, the mobile phone number prefix can no longer reflect its current carrier.

  1. Operated by China Transport Telecommunication & Information Center.
  2. According to the relevant documents of the MIIT, the voice call function is allowed in 145 / 147 / 149 prefixes, carriers can decide whether to provide voice call function according to the needs of their customers. At present, the 147 / 149 prefixes that support voice calls is available.

Reference

Telephone numbers in China - Wikipedia

Stay up to date

Since the mobile phone number regular expression is time-sensitive, when any regular expression is updated, a new version will be released to trigger GitHub's mail system to notify all users who are watching the repository. If you want to be notified when any regular expressions are updated, please watch this repository.

How to watch releases for a repository?

Release Notes

December 26, 2019

  • Add support for 190 / 196 / 197 prefix.

December 24, 2019

  • Add support for 162 / 193 / 195 prefix.

December 1, 2019

  • Add reminder for mobile number portability service.

January 10, 2019

  • Optimize the compatibility of some regular expressions in JavaScript.

January 7, 2019

  • Add support for 165 prefix.

December 30, 2018

  • Add an optional country code match.
  • Add regular expression visualization links.
  • Fix 17X prefix cannot match when matching non-174X prefix (e.g. 178).
  • Fix non-numbers in negated character classes is not excluded.
  • Optimize some regular expressions.

December 29, 2018

  • Add support for 146 / 149 / 167 / 191 / 1440X / 148XX / 1410X / 174-00~05 / 174-06~12 / 174-9 prefix.

August 9, 2017

  • Add support for 166 / 198 / 199 prefix.

October 15, 2016

  • Add English documentation.
  • Add support for 175 prefix.
  • Remove test project.
  • Fix 1349 matching issues.

April 5, 2016

  • Add the 171 prefix support.
  • Separate 14* prefix matching.
  • Improve the MVNO prefix matching.

December 19, 2014

  • Initial release.

License

MIT

主要指标

概览
名称与所有者VincentSit/ChinaMobilePhoneNumberRegex
主编程语言
编程语言 (语言数: 0)
平台
许可证MIT License
所有者活动
创建于2014-12-18 18:30:22
推送于2022-05-17 03:02:26
最后一次提交2022-05-17 11:02:22
发布数10
最新版本名称1.0.9 (发布于 )
第一版名称1.0.0 (发布于 )
用户参与
星数4.8k
关注者数165
派生数507
提交数49
已启用问题?
问题数23
打开的问题数4
拉请求数7
打开的拉请求数0
关闭的拉请求数7
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?