facebook pixel
11Sep 2026

Validate 11 Digit Chinese Phone Numbers for Developers: Regex & E.164

Developer testing Chinese phone number validation

A Chinese mobile number looks like this domestically: 138 0013 8000, and internationally: +86 138 0013 8000 (stored in E.164 as +8613800138000). A Beijing landline reads 010-6512-3456 at home, but drop the trunk zero abroad: +86 10 6512 3456. The rule that matters most: Chinese mobiles are always 11 digits starting with 1, and the country code is always +86.


TL;DR:

  • Chinese mobile numbers are always 11 digits long and start with the prefix 1, with the second digit ranging from 3 to 9, though prefix ranges can change over time.
  • Landline area codes vary between 2, 3, or 4 digits, with major cities like Beijing and Shanghai using shorter codes, and must have the leading zero dropped when dialling internationally.
  • When dialling from abroad, omit the trunk zero and use +86 followed by the number, ensuring full validation includes stripping non-digit characters and normalising digits.
  • IoT devices use 13-digit numbers starting with 140 to 144, which can cause validation errors if only 11-digit checks are assumed.
  • Emergency numbers and business lines like 110, 119, 12306, and 400/800 numbers follow different formats and should be treated as separate from standard mobile and landline numbers.

Phonenumbers
Find a Memorable UK Phone Number
Phonenumbers helps UK taxi firms and plumbers search memorable 01, 02, and 07 numbers by sequence, area code, town, city, or county.

Table of Contents

What does a typical Chinese mobile number look like?

Every Chinese mobile number follows the same skeleton: 11 digits, starting with 1, split into a 3 digit prefix and two blocks of 4. Written out, that’s 1XX XXXX XXXX. The first three digits identify which carrier or service range issued the number, not a region, since mobile numbers in mainland China have been decoupled from geography for years, according to the national numbering plan documented on Wikipedia.

That single fact trips up a lot of people filling in forms for the first time. A UK reader used to dialling codes tied to towns might assume a Chinese mobile prefix tells you where someone lives. It doesn’t. A number starting 138 could belong to someone in Shanghai, Chengdu, or a village in Yunnan.

Here’s how the same number can legitimately appear across different contexts:

  • Spoken or handwritten domestically: 138 0013 8000
  • Compact digital form (no spaces): 13800138000
  • International display: +86 138 0013 8000
  • Machine-readable E.164 storage: +8613800138000

Mobile numbers run to 11 digits. That’s the standard length across every active mobile prefix in mainland China, confirmed by the numbering plan on Wikipedia. It’s worth memorising that figure alone if you only take one thing from this section, because it’s the fastest way to spot a malformed number before it ever reaches a database.

There’s one exception worth flagging early, because it catches out anyone writing validation rules. Numbers beginning 140 through 144 are reserved for Internet of Things devices, SIM cards used in trackers, industrial sensors, connected vehicles and similar hardware, and they run to 13 digits rather than 11, per the same Wikipedia entry on Chinese numbering. If your form assumes every “1” prefixed number is exactly 11 digits long, an IoT SIM will fail silently or get truncated.

Carrier ranges also shift over time as regulators open new blocks to meet demand. A prefix that’s unused today might be allocated next year, and one that looks obscure now might become common. Treat any fixed list of “valid” prefixes as a snapshot, not a permanent rule, and lean on a maintained library rather than memory when it actually matters for a production system.

How are Chinese landline numbers structured by city?

Landlines split into two parts: an area code and a subscriber number, and the split isn’t uniform. Major cities such as Beijing and Shanghai get short, 2-digit area codes because they historically needed more subscriber capacity. Smaller cities and prefecture-level regions get 3 or 4-digit codes instead, leaving fewer digits for the subscriber number itself.

The pattern holds consistently across the country’s biggest hubs, as reflected in area-code references for major Chinese cities:

  • Beijing: area code 010, domestic format 010-6512-3456
  • Shanghai: area code 021, domestic format 021-6321-9876
  • Guangzhou: area code 020, domestic format 020-8888-1234
  • Shenzhen: area code 0755, domestic format 0755-8888-9999
  • Chengdu: area code 028, domestic format 028-6555-7890

Notice Shenzhen breaks the two-digit pattern. It uses a 4-digit code (0755) despite being one of China’s largest cities, a reminder that population size alone doesn’t predict code length. Regional allocation history matters more than current city size.

The subscriber number itself typically runs 7 to 8 digits, meaning a full landline number (area code plus subscriber number) usually lands somewhere between 10 and 12 digits total once you include the leading 0.

How are Chinese landline numbers structured by city? — overview diagram

Writing these for international use means one change: drop the leading trunk zero from the area code the moment you attach +86. So Beijing’s domestic 010-6512-3456 becomes +86 10 6512 3456 for an overseas caller or on an international business card, exactly as outlined in dialling format guidance for +86 numbers. Miss that step and the number simply won’t connect, because the receiving network reads the extra zero as part of a different routing sequence.

A few more worked examples, side by side:

City Domestic format International format
Beijing 010-6512-3456 +86 10 6512 3456
Shanghai 021-6321-9876 +86 21 6321 9876
Shenzhen 0755-8888-9999 +86 755 8888 9999

How do you dial a Chinese number from within China or abroad?

Dialling rules change depending on where the call starts and whether you’re ringing a mobile or a landline. Follow these steps in order for whichever situation applies:

  1. Calling a landline in the same city: dial the subscriber number only, no area code needed. A Beijing office ringing another Beijing office just dials 6512-3456.
  2. Calling a landline in a different Chinese city: dial 0, then the area code, then the subscriber number. From Shanghai to Beijing, that’s 010-6512-3456.
  3. Calling a mobile anywhere within China: dial the full 11-digit number regardless of where you are. Mobiles don’t need an area code or trunk prefix, ever.
  4. Calling from abroad: dial your country’s exit code, then 86, then the number with the landline’s leading 0 dropped, or the full mobile number unchanged.

That fourth step is where most confusion happens, mainly because exit codes differ by country. A caller in the UK dials 00 first: 00 86 10 6512 3456 reaches that Beijing office. Someone dialling from the United States uses 011 instead: 011 86 138 0013 8000 rings that mobile directly, following the pattern confirmed in practical +86 dialling examples.

Most smartphones sidestep exit codes entirely by letting you use the + shorthand. Typing +86 10 6512 3456 or +86 138 0013 8000 works from almost any mobile handset worldwide, because the device automatically translates the + into whatever exit code your local network requires. It’s the safest format to give someone if you don’t know which country they’re calling from.

One more point worth stating plainly: never combine the leading 0 with +86. Numbers such as +86 010 6512 3456 look plausible but are wrong. The zero is a domestic trunk prefix; +86 already tells the network it’s routing internationally, so the zero becomes redundant and, on some systems, breaks the call entirely.

How should you write and store Chinese phone numbers?

Chinese numbers show up in at least four distinct formats depending on context, and mixing them up in a database or a customer-facing form causes more support tickets than almost any other localisation mistake.

  • Spoken or handwritten domestic style: grouped in threes and fours, such as 138 0013 8000, which is easier to read aloud and confirm over the phone.
  • International display style: prefixed with +86 and a space, such as +86 138 0013 8000, used on business cards, websites and email signatures aimed at overseas contacts.
  • Compact digital style: no separators at all, 13800138000, often seen in text messages or informal contexts.
  • E.164 storage format: +8613800138000, the standard machine-readable format with no spaces, hyphens or leading zeros, used internally by databases and telecoms systems.

Grouping mobile digits as 3-4-4, for example 138 1234 5678, makes numbers noticeably easier to read back correctly over a phone call, which matters more than it sounds when you’re confirming a customer’s contact details verbally rather than reading them off a screen.

There’s a quieter formatting issue that catches out a surprising number of forms built for a Chinese audience: full-width versus half-width digits. Numbers typed on a Chinese input method can render as full-width characters (13800138000) rather than standard half-width digits (13800138000), and they look almost identical on screen while being completely different characters to a validation script. Any form accepting Chinese input needs to normalise full-width digits to half-width before running length or prefix checks, a step covered in practical guidance for implementing Chinese phone numbers in apps.

Full-width digits converted to standard digits

Privacy masking follows a fairly universal convention: show the first three digits, mask the middle four with asterisks, and show the last four. So 138 0013 8000 becomes 139****5678 style masking on receipts, order confirmations or customer service screens, protecting the subscriber’s identity while still letting them recognise their own number.

Pro Tip: Store every number in E.164 format internally, but display it in the local, human-readable format the user expects. A database full of +8613800138000 entries is unambiguous and easy to query, while a screen full of the same raw string is hostile to read. Keep the two jobs separate.

If you’re building interfaces aimed partly at Chinese speakers rather than just Chinese numbers, tools like a Chinese content generator built for multilingual SEO can help with the surrounding language, though the number formatting rules above stay the same regardless of which language wraps around them.

What’s the best way to validate a Chinese phone number?

Validation breaks down into four repeatable steps, and skipping any one of them is where most homegrown scripts fall over.

  • Strip non-digit characters. Remove spaces, hyphens, brackets and the leading + before doing any length or prefix check, so 138-0013-8000 and 13800138000 are treated identically.
  • Normalise full-width digits to half-width. Convert any Chinese input-method characters to standard ASCII digits before validation runs, or the check will silently fail on otherwise valid input.
  • Check prefix and length. A mobile number should be 11 digits starting with 1; a landline should match the area code length for its region plus a 7 or 8-digit subscriber number.
  • Reformat to E.164 for storage. Once validated, convert the cleaned digits into +86 plus the number, with no leading zero, ready to save.

For a quick client-side sanity check, a simple regular expression such as ^1[3-9]\d{9}$ catches the shape of a standard mobile number, that is, 11 digits starting with 1 followed by a second digit between 3 and 9. It’s a fast first pass, not a complete solution.

Mobile numbers are 11 digits, always starting with 1, and that single constant is what makes even a basic regex useful as a first filter, per the numbering rules documented on Wikipedia.

That regex will happily accept prefixes that don’t actually exist yet, or reject new ones as they’re allocated, because carrier ranges shift over time. For anything running in production, Google’s libphonenumber library is the stronger choice, since it’s actively maintained against real-world allocation data rather than a static pattern someone wrote once and forgot about.

Pro Tip: If your form has separate fields for “mobile” and “landline”, validate them with different rules rather than one shared pattern. A mobile-only field can safely reject anything that isn’t 11 digits starting with 1, while a landline field needs to accommodate variable area-code lengths across different cities.

Handle unknown or unassigned prefixes cautiously rather than rejecting them outright. Regulators open new mobile ranges periodically, and a hardcoded prefix list will always lag behind real allocations. Where possible, lean on a library’s built-in metadata rather than a list you maintain by hand, since that data gets refreshed as new ranges open.

What do the mobile prefix ranges (13x to 19x) actually mean?

The leading digit 1 on a Chinese mobile number simply flags “this is a mobile number” to the network, the same way a country code flags a country. The second digit, ranging from 3 through 9, groups numbers into blocks historically tied to specific carriers and service types, though consolidation and new entrants have blurred those lines over the years.

  • 13x range: among the oldest mobile blocks still in active use.
  • 14x range: mostly reserved for data-only and IoT services, with 140 to 144 specifically running to 13-digit numbers rather than the standard 11, an exception confirmed in the Wikipedia numbering plan entry.
  • 15x, 17x, 18x, 19x ranges: expanded over time as demand for mobile numbers outpaced the original 13x allocation.
  • 16x range: used for newer virtual network operator services in more recent allocations.

That 140 to 144 exception deserves repeating on its own, because it’s the single most common source of validation bugs. Anything assuming “starts with 1, therefore 11 digits” will mishandle an IoT SIM without warning.

Given how often new ranges open, the safest long-term approach isn’t memorising a prefix table at all. It’s consulting current numbering plan documentation or letting a maintained library such as libphonenumber handle the lookup, since prefix allocations that were accurate a year ago can quietly go stale.

What do China’s emergency and business numbers look like?

Alongside standard mobiles and landlines, China runs a set of short, fixed-format numbers for emergencies, transport bookings and business services, and they follow entirely different rules from personal numbers.

  • Emergency services: 110 (police), 119 (fire), 120 (medical), all short three-digit codes dialled without any area code, regardless of location.
  • Rail booking service: 12306, a five-digit national number for train ticket enquiries and bookings.
  • Business toll-free lines: formatted as 400-XXX-XXXX or 800-XXX-XXXX, commonly seen on customer service lines and printed on receipts, packaging and invoices, as noted in reference guidance on Chinese phone number formats.

These short codes and business numbers aren’t dialled the way mobiles or landlines are, and they generally aren’t reachable at all from outside mainland China, since 110, 119 and 12306 route only within the domestic network. A 400 or 800 business number sometimes has an alternative direct line for international callers, but it’s worth checking with the business directly rather than assuming +86 in front of a 400 number will work the way it does for a standard landline.

For anyone designing a form, it’s worth treating these as a separate input category entirely rather than trying to squeeze them into a “phone number” field built for 11-digit mobiles or area-code landlines, since they don’t share the same length or structure rules.

Common mistakes to avoid when handling Chinese numbers

The single most frequent error is keeping the leading 0 when adding +86. Writing +86 010 6512 3456 instead of +86 10 6512 3456 is the mistake that breaks more international calls than anything else on this list, and it’s an easy one to catch with a simple find and replace once you know to look for it.

Miscounting digits comes second. A mobile number that’s 10 or 12 digits long instead of 11 is almost always a typo or a copy-paste error, not a legitimate variant, with the sole exception of 13-digit IoT numbers starting 140 to 144.

Failing to normalise input trips up more forms than either of those. Full-width digits, stray spaces, hyphens in inconsistent places: all of it needs cleaning before any validation logic runs, not after.

Here’s a six-point check I’d run before saving or dialling any Chinese number:

  1. Does it start with the correct prefix (1 for mobile, 0 for a landline area code)?
  2. Is the total digit count correct for the number type (11 for standard mobile, variable for landline, 13 for IoT)?
  3. If it carries +86, has the leading 0 been removed from any area code?
  4. Are all characters standard half-width digits, with no full-width remnants?
  5. Is it stored internally in E.164 format, separate from however it’s displayed?
  6. If it’s a special number (emergency, 400/800, 12306), is it flagged as a different type rather than validated against standard mobile or landline rules?

Get those six right and you’ll avoid the overwhelming majority of formatting errors that show up in customer databases and contact forms built without this checklist in mind.

— Rob

Sources

The national numbering plan documented on Wikipedia is the clearest single reference for area-code lengths, mobile prefix structure and the 140 to 144 IoT exception, and it’s the first place to check when a number looks unfamiliar.

For anything going into production code, Google’s libphonenumber implementation guidance covers normalisation, E.164 storage and validation logic in far more depth than any regex alone can manage.

Practical dialling format guidance is useful for confirming international dialling sequences and city-specific area codes side by side.

For a closer look at how mobile-specific validation and display should work in practice, Phonenumbers has covered what a valid Chinese mobile number looks like in more detail, and if you’re comparing formatting conventions across countries, the Australian phone number format is a useful side-by-side reference.

If your business needs a UK number that’s easier for customers to recall than a standard geographic line, browsing memorable UK numbers available through Phonenumbers is worth doing alongside sorting out your international formatting, since the two problems, getting numbers right and getting numbers memorable, tend to show up together for growing businesses.

FAQ

What Is a +86 Number?

+86 is China’s international country code, used in place of the domestic trunk zero whenever a number is dialled from outside mainland China, such as +86 138 0013 8000 for a mobile or +86 10 6512 3456 for a Beijing landline.

Which Country Does the +86 170 Prefix Belong To?

+86 is always China’s country code regardless of what follows it; a number with +86 is simply a Chinese mobile number, not a separate country.

Does China Use +44?

No. +44 is the United Kingdom’s country code. China’s country code is +86, and the two are never interchangeable when dialling internationally.

What Does a Chinese Phone Number Look Like?

A Chinese mobile number is 11 digits starting with 1, shown as 138 0013 8000 domestically or +86 138 0013 8000 internationally, while a landline pairs a 2 to 4-digit area code with a 7 to 8-digit subscriber number, such as Beijing’s 010-6512-3456.

Can't find the number you're looking for on our website?

Fill in your details here, you must include a WhatsApp Contact number so that we can message you.

Please enter your name.
Please enter a valid UK telephone number.
Please enter a valid UK WhatsApp number.
Please enter a number starting with 01, 02 or 03. All available mobile numbers are on our website
WhatsApp