All Projects → VincentSit → Chinamobilephonenumberregex

VincentSit / Chinamobilephonenumberregex

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

Projects that are alternatives of or similar to Chinamobilephonenumberregex

extglob
Extended globs. Add (almost) the expressive power of regular expressions to glob patterns.
Stars: ✭ 25 (-99.44%)
Mutual labels:  regex, regular-expression
Picomatch
Blazing fast and accurate glob matcher written JavaScript, with no dependencies and full support for standard and extended Bash glob features, including braces, extglobs, POSIX brackets, and regular expressions.
Stars: ✭ 393 (-91.15%)
Mutual labels:  regex, regular-expression
pcre-net
PCRE.NET - Perl Compatible Regular Expressions for .NET
Stars: ✭ 114 (-97.43%)
Mutual labels:  regex, regular-expression
regex-cache
Memoize the results of a call to the RegExp constructor, avoiding repetitious runtime compilation of the same string and options, resulting in dramatic speed improvements.
Stars: ✭ 39 (-99.12%)
Mutual labels:  regex, regular-expression
Generex
A Java library for generating String from a regular expression.
Stars: ✭ 316 (-92.88%)
Mutual labels:  regex, regular-expression
hex-color-regex
Regular expression for matching hex color values from string.
Stars: ✭ 29 (-99.35%)
Mutual labels:  regex, regular-expression
Rex
Your RegEx companion.
Stars: ✭ 283 (-93.63%)
Mutual labels:  regex, regular-expression
globrex
Glob to regular expression with support for extended globs.
Stars: ✭ 52 (-98.83%)
Mutual labels:  regex, regular-expression
Regex
Regular expressions for swift
Stars: ✭ 306 (-93.11%)
Mutual labels:  regex, regular-expression
Anyformatkit
Simple text formatting in Swift
Stars: ✭ 296 (-93.33%)
Mutual labels:  regex, phone-number
pamatcher
A pattern matching library for JavaScript iterators
Stars: ✭ 23 (-99.48%)
Mutual labels:  regex, regular-expression
Regexp2
A full-featured regex engine in pure Go based on the .NET engine
Stars: ✭ 389 (-91.24%)
Mutual labels:  regex, regular-expression
RgxGen
Regex: generate matching and non matching strings based on regex pattern.
Stars: ✭ 45 (-98.99%)
Mutual labels:  regex, regular-expression
genex
Genex package for Go
Stars: ✭ 64 (-98.56%)
Mutual labels:  regex, regular-expression
cheat-sheet-pdf
📜 A Cheat-Sheet Collection from the WWW
Stars: ✭ 728 (-83.6%)
Mutual labels:  regex, regular-expression
Re Flex
The regex-centric, fast lexical analyzer generator for C++ with full Unicode support. Faster than Flex. Accepts Flex specifications. Generates reusable source code that is easy to understand. Introduces indent/dedent anchors, lazy quantifiers, functions for lex/syntax error reporting, and more. Seamlessly integrates with Bison and other parsers.
Stars: ✭ 274 (-93.83%)
Mutual labels:  regex, regular-expression
dregex
Dregex is a JVM library that implements a regular expression engine using deterministic finite automata (DFA). It supports some Perl-style features and yet retains linear matching time, and also offers set operations.
Stars: ✭ 37 (-99.17%)
Mutual labels:  regex, regular-expression
expand-brackets
Expand POSIX bracket expressions (character classes) in glob patterns.
Stars: ✭ 26 (-99.41%)
Mutual labels:  regex, regular-expression
Anymatch
‼️ Matches strings against configurable strings, globs, regular expressions, and/or functions
Stars: ✭ 289 (-93.49%)
Mutual labels:  regex, regular-expression
Minta
✳️  Electron app for generating regular expressions
Stars: ✭ 353 (-92.05%)
Mutual labels:  regex, regular-expression

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(?:[0-35-9]\d{2}|4(?:0\d|1[0-2]|9\d))|9[0-35-9]\d{2}|6[2567]\d{2}|4(?:(?:10|4[01])\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(?:[0-35-9]\d{2}|4(?:0\d|1[0-2]|9\d))|9[0-35-9]\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(?:[235-8]\d{2}|4(?:0\d|1[0-2]|9\d))|9[0-35-9]\d{2}|66\d{2})\d{6}$

Match China Mobile

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

Match China Unicom

^(?:\+?86)?1(?:3[0-2]|[578][56]|66|96)\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[0139]\d{2})\d{6}$

Match China Broadcast Network

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

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|41|[68]\d)\d{9}$

Match China Mobile

^(?:\+?86)?14(?:4[01]|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 / 172 / 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
China Broadcast Network 192
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 / 1441X / 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.
  2. Operated by China Transport Telecommunication & Information Center.
  3. 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

May 3, 2020

  • Add support for 1441 prefix.

April 16, 2020

  • Add support for 192 prefix.

April 7, 2020

  • Add support for 172 prefix.

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].