What is this section used for?
- Quick E.164 regex checks for EU & UK phone numbers (mobile and landline).
- Each row shows the country code, an example number, and a regex.
These patterns are indicative. The API validates phone numbers itself, for the number's country: it requires the country code, checks the length, and can reject a number of the right length as not valid. It returns
phoneNumber is not valid,phoneNumber is too shortorphoneNumber is too long. The patterns below are a first-pass, client-side check and can differ from the API's result.
How to use
- Use the format
+<country code><number>, for example+33612345678. - The API and the online form accept spaces, but the patterns on this page do not match them. Remove spaces and hyphens before matching a number against a pattern.
- Use the mobile table for mobiles and the landline table for fixed lines.
Notes
- These patterns validate format only (not whether a number is active).
- Numbering plans change, so treat this as a first-pass check.
Regex Patterns for the EU and UK - Mobile Phones
| Country | Code | Mobile Example | Regex Pattern |
|---|---|---|---|
| 🇬🇧 United Kingdom | +44 | +447911123456 | ^\+44(7\d{9})$ |
| 🇦🇹 Austria | +43 | +436601234567 | ^\+43(6\d{8,9})$ |
| 🇧🇪 Belgium | +32 | +32475123456 | ^\+32(4\d{8})$ |
| 🇧🇬 Bulgaria | +359 | +359881234567 | ^\+359(8[7-9]\d{6,7})$ |
| 🇭🇷 Croatia | +385 | +385981234567 | ^\+385\d{9}$ |
| 🇨🇾 Cyprus | +357 | +35796123456 | ^\+357(9[5-9]\d{6})$ |
| 🇨🇿 Czech Republic | +420 | +420601234567 | ^\+420[67]\d{8}$ |
| 🇩🇰 Denmark | +45 | +4523123456 | ^\+45\d{8}$ |
| 🇪🇪 Estonia | +372 | +37251234567 | ^\+372(5\d{6,7})$ |
| 🇫🇮 Finland | +358 | +358401234567 | ^\+358(4[0-9]\d{6,7})$ |
| 🇫🇷 France | +33 | +33612345678 | ^\+33[67]\d{8}$ |
| 🇩🇪 Germany | +49 | +4915112345678 | ^\+49(1[5-7]\d{8,9})$ |
| 🇬🇷 Greece | +30 | +306912345678 | ^\+30(69\d{8})$ |
| 🇭🇺 Hungary | +36 | +36201234567 | ^\+36(20|30|31|50|70)\d{7}$ |
| 🇮🇪 Ireland | +353 | +353851234567 | ^\+353(8[3-9]\d{7})$ |
| 🇮🇹 Italy | +39 | +393331234567 | ^\+39(3\d{8,9})$ |
| 🇱🇻 Latvia | +371 | +37121234567 | ^\+371(2\d{7})$ |
| 🇱🇹 Lithuania | +370 | +37061234567 | ^\+370(6\d{7})$ |
| 🇱🇺 Luxembourg | +352 | +352621123456 | ^\+352\d{9}$ |
| 🇲🇹 Malta | +356 | +35699123456 | ^\+356(9[79]\d{6})$ |
| 🇳🇱 Netherlands | +31 | +31612345678 | ^\+31(6\d{8})$ |
| 🇵🇱 Poland | +48 | +48512345678 | ^\+48\d{9}$ |
| 🇵🇹 Portugal | +351 | +351912345678 | ^\+351(9[1236]\d{7})$ |
| 🇷🇴 Romania | +40 | +40721234567 | ^\+40(7\d{8})$ |
| 🇸🇰 Slovakia | +421 | +421912345678 | ^\+421(9\d{8})$ |
| 🇸🇮 Slovenia | +386 | +38640123456 | ^\+386(4[01]\d{6})$ |
| 🇪🇸 Spain | +34 | +34612345678 | ^\+34[67]\d{8}$ |
| 🇸🇪 Sweden | +46 | +46701234567 | ^\+46(7[0236]\d{7})$ |
Notes:
- These regexes validate mobile numbers only.
- They do not match spaces or hyphens, which the API and the online form accept. Remove them before matching.
- E.164 format is always:
++country code+subscriber number(no leading 0). - The Hungarian pattern covers the prefixes 20, 30, 31, 50 and 70.
- The patterns for Croatia, Luxembourg and Poland check only the country code and the number of digits shown in the example.
Regex Patterns for the EU and UK - Landline Phones
| Country | Code | Example | Regex Pattern |
|---|---|---|---|
| 🇬🇧 United Kingdom | +44 | +442071234567 | ^\+44(1\d{9}|2\d{9})$ |
| 🇦🇹 Austria | +43 | +43123456789 | ^\+43(1\d{7,8}|[2-9]\d{6,9})$ |
| 🇧🇪 Belgium | +32 | +3212345678 | ^\+32\d{8}$ |
| 🇧🇬 Bulgaria | +359 | +35921234567 | ^\+359\d{8}$ |
| 🇭🇷 Croatia | +385 | +38511234567 | ^\+385(1\d{7}|[2-5]\d{6,7})$ |
| 🇨🇾 Cyprus | +357 | +35722234567 | ^\+3572\d{7}$ |
| 🇨🇿 Czech Republic | +420 | +420212345678 | ^\+420[2-5]\d{8}$ |
| 🇩🇰 Denmark | +45 | +4532123456 | ^\+45\d{8}$ |
| 🇪🇪 Estonia | +372 | +3726123456 | ^\+372[3-7]\d{6,7}$ |
| 🇫🇮 Finland | +358 | +3589123456 | ^\+358\d{7}$ |
| 🇫🇷 France | +33 | +33123456789 | ^\+33[1-5]\d{8}$ |
| 🇩🇪 Germany | +49 | +493012345678 | ^\+49(3\d{8,10}|[2-9]\d{8,10})$ |
| 🇬🇷 Greece | +30 | +302112345678 | ^\+30(2\d{9})$ |
| 🇭🇺 Hungary | +36 | +3611234567 | ^\+36[1-9]\d{7}$ |
| 🇮🇪 Ireland | +353 | +35312123456 | ^\+353(1\d{7}|[2-9]\d{7})$ |
| 🇮🇹 Italy | +39 | +390612345678 | ^\+39(0\d{9,10})$ |
| 🇱🇻 Latvia | +371 | +37163123456 | ^\+371\d{8}$ |
| 🇱🇹 Lithuania | +370 | +37052123456 | ^\+370[3-6]\d{7}$ |
| 🇱🇺 Luxembourg | +352 | +35221234567 | ^\+352[2-5]\d{6,8}$ |
| 🇲🇹 Malta | +356 | +35621234567 | ^\+3562\d{7}$ |
| 🇳🇱 Netherlands | +31 | +31201234567 | ^\+31[1-5]\d{8}$ |
| 🇵🇱 Poland | +48 | +48221234567 | ^\+48[1-9]\d{8}$ |
| 🇵🇹 Portugal | +351 | +351212345678 | ^\+3512\d{8}$ |
| 🇷🇴 Romania | +40 | +40211234567 | ^\+40[2-3]\d{8}$ |
| 🇸🇰 Slovakia | +421 | +42121234567 | ^\+421[2-5]\d{7}$ |
| 🇸🇮 Slovenia | +386 | +38612345678 | ^\+386\d{8}$ |
| 🇪🇸 Spain | +34 | +34912345678 | ^\+34(8\d{8}|9\d{8})$ |
| 🇸🇪 Sweden | +46 | +468123456 | ^\+46[1-8]\d{5,8}$ |

