Free Tool · Chinese Websites · Forms & Data

Chinese Phone Number Validator & Regex Builder

Check Chinese mobile and landline numbers in bulk, convert them to +86 format, and get a ready-made regular expression for your website's forms — in JavaScript, PHP, Python or HTML.

Validate Numbers and Build Your Regex

Up to 200 numbers. Spaces, hyphens, brackets, +86 and 0086 are handled.

Accept      
Mobile check
Country code +86

Results update as you type.

Your regular expression

Pattern

^(?:(?:\+86|0086)[ \-]?)?1[3-9]\d[ \-]?\d{4}[ \-]?\d{4}$

JavaScript

const re = /^(?:(?:\+86|0086)[ \-]?)?1[3-9]\d[ \-]?\d{4}[ \-]?\d{4}$/; re.test(value)

PHP

preg_match('/^(?:(?:\+86|0086)[ \-]?)?1[3-9]\d[ \-]?\d{4}[ \-]?\d{4}$/', $value)

Python

re.fullmatch(r'(?:(?:\+86|0086)[ \-]?)?1[3-9]\d[ \-]?\d{4}[ \-]?\d{4}', value)

HTML form field

<input type="tel" inputmode="tel" pattern="(?:(?:\+86|0086)[ \-]?)?1[3-9]\d[ \-]?\d{4}[ \-]?\d{4}">

Browsers anchor the pattern automatically.

Validation

7 of 10 numbers are valid mainland China numbers.

InputResult+86 formatRegex
138 1234 5678✓ Mobile
Originally China Mobile
+86 138 1234 5678match
+86 139-1234-5678✓ Mobile
Originally China Mobile
+86 139 1234 5678match
0086 18612345678✓ Mobile
Originally China Unicom
+86 186 1234 5678match
010-6512 3456✓ Landline
Area code 010 · Beijing
+86 10 6512 3456no match
+86 21 6123 4567✓ Landline
Area code 021 · Shanghai
+86 21 6123 4567no match
0755 8888 6666✓ Landline
Area code 0755 · Shenzhen
+86 755 8888 6666no match
400 123 4567✓ 400 service number
Business hotline — usually not reachable from abroad
400 123 4567no match
15412345678✗ Mobile
Prefix 154 is not an assigned mobile range.
match
1381234567✗ Mobile
Mobile numbers have 11 digits — this has 10.
no match
+852 9123 4567✗ Invalid
Not a mainland China number (Hong Kong +852).
no match

Next Tools for Chinese Websites

All free China SEO and web tools →

Chinese Mobile Number Format

Mainland Chinese mobile numbers have 11 digits and start with 1, followed by 3 to 9: 138 1234 5678. The first three digits — sometimes four — identify the operator the number was originally issued by. Internationally, the number is written +86 138 1234 5678; there is no trunk 0 to drop.

OperatorMobile prefixesOther ranges
China Mobile134–139, 150–152, 157–159, 178, 182–184, 187, 188, 195, 197, 198147 data · 148, 172 IoT · 165, 1703, 1705–1706 virtual
China Unicom130–132, 155, 156, 166, 175, 176, 185, 186, 196145 data · 167, 171, 1704, 1707–1709 virtual
China Telecom133, 153, 173, 177, 180, 181, 189, 190, 191, 193, 199149 data · 162, 1700–1702 virtual
China Broadnet192—
Satellite—1349, 174x

Two caveats for anyone validating numbers: new prefixes are released from time to time, so strict prefix lists go stale; and since nationwide number portability (携号转网) started in 2019, the prefix shows only the original operator. For sign-up forms, the simple pattern ^1[3-9]\d{9}$ plus SMS verification is the robust choice.

Chinese Landline Numbers and Area Codes

Landline numbers consist of a trunk prefix 0, an area code and a local number. The largest cities have 2-digit area codes and 8-digit numbers; elsewhere, area codes have 3 digits and local numbers 7 or 8. From abroad, drop the 0: Beijing's 010 6512 3456 becomes +86 10 6512 3456.

CityArea codeCityArea code
Beijing010Shenzhen0755
Shanghai021Hangzhou0571
Guangzhou020Suzhou0512
Tianjin022Qingdao0532
Chongqing023Xiamen0592
Chengdu028Dongguan0769
Wuhan027Ningbo0574
Nanjing025Changsha0731
Xi'an029Zhengzhou0371
Shenyang024Kunming0871

How to Use the Validator and Regex Builder

  1. Paste your numbers — from a CRM export, a lead list or a form test, one per line.
  2. Choose what your form should accept — mobile, landline and/or 400/800 numbers, with or without +86, with or without spaces and hyphens.
  3. Copy the regex for JavaScript, PHP, Python or an HTML pattern attribute. The "Regex" column shows how your pasted numbers fare against it.
  4. Copy the clean numbers in +86 format for your CRM or database.
Before you launch

Phone Fields on Chinese Websites: Checklist

A contact or sign-up form that works in Europe can lose most Chinese leads. These points make forms work for Chinese visitors.

  1. Make the mobile number the main field

    Many Chinese users rarely check email but answer calls, SMS and WeChat. Ask for the mobile number first, and make email optional where you can.

  2. Accept any formatting, then normalise

    Allow spaces, hyphens and +86. Strip them on the server and store one format (+8613812345678). Don't reject a valid number because of a space.

  3. Validate loosely, verify by SMS

    A strict prefix list rejects new ranges until someone updates it. Use 1[3-9] plus 11 digits, and confirm ownership with an SMS code — the standard in China.

  4. Watch for full-width digits

    Chinese input methods can produce 138 instead of 138. Normalise full-width characters before validating. Full-width converter →

  5. Offer WeChat as a contact option

    Show a WeChat Official Account or WeCom contact next to the form. Many visitors prefer to start a conversation there.

  6. Ask for consent under PIPL

    China's Personal Information Protection Law requires a clear purpose and consent for collecting personal information such as phone numbers. Link a Chinese privacy notice next to the form.

From building and optimising lead generation for Western companies' Chinese websites since 2012.

Get more leads from your Chinese website

Frequently Asked Questions

Mainland Chinese mobile numbers have 11 digits and start with 1, followed by 3 to 9 — for example 138 1234 5678. The first three digits show the original operator. Internationally they are written +86 138 1234 5678.
The simple, robust pattern is ^1[3-9]\d{9}$. It accepts all 11-digit numbers starting with 13 to 19 and rarely needs updating. A strict pattern that checks the assigned ranges catches more typos, but has to be updated when new prefixes are released. Use the builder on this page to add +86, spaces and landlines.
Use +86, then the number without the leading 0 of the area code: +86 138 1234 5678 for a mobile, +86 10 6512 3456 for a Beijing landline (010 in China), +86 755 8888 6666 for Shenzhen (0755). Store numbers in this format (E.164: +8613812345678) in your database.
Only the original operator. The prefix shows which operator the number was issued by, but since nationwide number portability (携号转网) started in 2019, a number can move to another operator and keep its prefix.
Big cities with a 2-digit area code — Beijing 010, Shanghai 021, Guangzhou 020, Tianjin 022, Chongqing 023 and others starting with 02 — use 8-digit local numbers. Other places have a 3-digit area code (such as 0755 for Shenzhen) and 7 or 8-digit local numbers.
They are business hotline numbers with 10 digits, such as 400 123 4567. With 400 numbers the caller pays a local rate, with 800 numbers the company pays. They are meant for domestic callers and are usually not reachable from abroad, so list a normal +86 number for international customers as well.
No — it checks mainland China numbers (+86). Hong Kong (+852), Macau (+853) and Taiwan (+886) have their own numbering plans; the validator recognises these country codes and reports them as not mainland numbers.
Yes, it is free and needs no sign-up. The numbers you paste are only used to show the results and are not stored or logged.

Built by Jademond Digital, a Chinese digital marketing agency founded in Guangzhou in 2012. Mobile ranges as allocated by China's MIIT, checked October 2026. About us →