EU & UK Phone Regex Patterns

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 short or phoneNumber 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

CountryCodeMobile ExampleRegex 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

CountryCodeExampleRegex 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}$