Oihana PHP Enums

PostalCodePattern uses ConstantsTrait

Enumeration of postal code regular expressions by country.

Provides validation and pattern lookup for ISO 3166-1 alpha-2 country codes.

Example:

PostalCodePattern::isValid('75015', 'FR'); // true
PostalCodePattern::isValid('90210', 'US'); // true
PostalCodePattern::isValid('99999', 'CH'); // false
PostalCodePattern::getPattern('HK'); // null (no postal code system)

Countries without postal code systems (not defined in this class):

  • HK (Hong Kong)
  • MO (Macao)
  • QA (Qatar)
  • TD (Chad)
  • UG (Uganda)

Note: For countries without postal codes, getPattern() returns null and isValid() returns false for any input.

Tags
author

Marc Alcaraz (ekameleon)

since
1.1.0

Table of Contents

Constants

AD  : string = '/^AD[1-7]0{2}$/'
Andorra postal code pattern (AD100-AD700).
AR  : string = '/^(?:\d{4}|[A-Z]\d{4}[A-Z]{3})$/'
Argentina postal code pattern (4 or 8 characters).
AT  : string = '/^\d{4}$/'
Austria postal code pattern (4 digits).
AU  : string = '/^\d{4}$/'
Australia postal code pattern (4 digits).
AZ  : string = '/^AZ\d{4}$/'
Azerbaijan postal code pattern (AZ 1000 - AZ 9999).
BA  : string = '/^\d{5}$/'
Bosnia and Herzegovina postal code pattern (5 digits).
BB  : string = '/^BB\d{5}$/'
Barbados postal code pattern (BB11000-BB99999).
BD  : string = '/^\d{4}$/'
Bangladesh postal code pattern (4 digits).
BE  : string = '/^[1-9]\d{3}$/'
Belgium postal code pattern (1000–9999).
BG  : string = '/^\d{4}$/'
Bulgaria postal code pattern (4 digits).
BH  : string = '/^\d{3,4}$/'
Bahrain postal code pattern (3 or 4 digits).
BM  : string = '/^[A-Z]{2}\s?(?:\d{2}|[A-Z]{2})$/'
Bermuda postal code pattern (AA 00 or AA AA).
BN  : string = '/^[A-Z]{2}\d{4}$/'
Brunei postal code pattern (AA1234).
BR  : string = '/^\d{5}-?\d{3}$/'
Brazil postal code pattern (12345-678).
BT  : string = '/^\d{5}$/'
Bhutan postal code pattern (5 digits).
BY  : string = '/^\d{6}$/'
Belarus postal code pattern (6 digits).
CA  : string = '/^[ABCEGHJ-NPRSTVXY]\d[ABCEGHJ-NPRSTV-Z][ ]?\d...
Canada postal code pattern (A1A 1A1).
CH  : string = '/^[1-9]\d{3}$/'
Switzerland postal code pattern (1000–9999).
CL  : string = '/^\d{7}$/'
Chile postal code pattern (7 digits).
CN  : string = '/^\d{6}$/'
China postal code pattern (6 digits).
CO  : string = '/^\d{6}$/'
Colombia postal code pattern (6 digits).
CR  : string = '/^\d{5}$/'
Costa Rica postal code pattern (5 digits).
CU  : string = '/^\d{5}$/'
Cuba postal code pattern (5 digits).
CV  : string = '/^\d{4}$/'
Cape Verde postal code pattern (4 digits).
CY  : string = '/^\d{4}$/'
Cyprus postal code pattern (4 digits).
CZ  : string = '/^\d{3}\s?\d{2}$/'
Czech Republic postal code pattern (123 45 or 12345).
DE  : string = '/^\d{5}$/'
Germany postal code pattern (5 digits).
DK  : string = '/^\d{4}$/'
Denmark postal code pattern (4 digits).
DO  : string = '/^\d{5}$/'
Dominican Republic postal code pattern (5 digits).
DZ  : string = '/^\d{5}$/'
Algeria postal code pattern (5 digits).
EC  : string = '/^\d{6}$/'
Ecuador postal code pattern (6 digits).
EE  : string = '/^\d{5}$/'
Estonia postal code pattern (5 digits).
EG  : string = '/^\d{5}$/'
Egypt postal code pattern (5 digits).
ES  : string = '/^(?:0[1-9]|[1-4]\d|5[0-2])\d{3}$/'
Spain postal code pattern (01000–52999).
ET  : string = '/^\d{4}$/'
Ethiopia postal code pattern (4 digits).
FI  : string = '/^\d{5}$/'
Finland postal code pattern (5 digits).
FO  : string = '/^FO-?\d{3}$/'
Faroe Islands postal code pattern (FO-100 to FO-970).
FR  : string = '/^(?:0[1-9]|[1-8]\d|9[0-8])\d{3}$/'
France postal code pattern (01000–98999).
GB  : string = '/^(?:GIR 0AA|(?:(?:(?:A[BL]|B[ABDHLNRSTX]?|C[A...
Great Britain postal code pattern (complex UK postcode).
GE  : string = '/^\d{4}$/'
Georgia postal code pattern (4 digits).
GF  : string = '/^973\d{2}$/'
French Guiana postal code pattern (973xx).
GG  : string = '/^GY\d{1,2}\s?\d[A-Z]{2}$/i'
Guernsey postal code pattern (GY1-GY10).
GI  : string = '/^GX11\s?1AA$/i'
Gibraltar postal code pattern (GX11 1AA).
GL  : string = '/^\d{4}$/'
Greenland postal code pattern (4 digits).
GP  : string = '/^971\d{2}$/'
Guadeloupe postal code pattern (971xx).
GR  : string = '/^\d{3}\s?\d{2}$/'
Greece postal code pattern (123 45 or 12345).
GT  : string = '/^\d{5}$/'
Guatemala postal code pattern (5 digits).
GU  : string = '/^969\d{2}(?:-\d{4})?$/'
Guam postal code pattern (US ZIP format).
HN  : string = '/^\d{5}$/'
Honduras postal code pattern (5 digits).
HR  : string = '/^[1-5]\d{4}$/'
Croatia postal code pattern (5 digits, 10000-53000).
HT  : string = '/^\d{4}$/'
Haiti postal code pattern (4 digits).
HU  : string = '/^\d{4}$/'
Hungary postal code pattern (4 digits).
ID  : string = '/^\d{5}$/'
Indonesia postal code pattern (5 digits).
IE  : string = '/^[AC-FHKNPRTV-Y]\d{2}\s?[0-9AC-FHKNPRTV-Y]{4}...
Ireland postal code pattern (Eircode: A65 F4E2).
IL  : string = '/^\d{5}(?:\d{2})?$/'
Israel postal code pattern (5 or 7 digits).
IM  : string = '/^IM\d{1,2}\s?\d[A-Z]{2}$/i'
Isle of Man postal code pattern (IM1-IM9).
IN  : string = '/^\d{6}$/'
India postal code pattern (6 digits).
IQ  : string = '/^\d{5}$/'
Iraq postal code pattern (5 digits).
IR  : string = '/^\d{5}-?\d{5}$/'
Iran postal code pattern (10 digits, ####-#####).
IS  : string = '/^\d{3}$/'
Iceland postal code pattern (3 digits).
IT  : string = '/^\d{5}$/'
Italy postal code pattern (5 digits).
JE  : string = '/^JE\d{1}\s?\d[A-Z]{2}$/i'
Jersey postal code pattern (JE1-JE5).
JM  : string = '/^\d{2}$/'
Jamaica postal code pattern (2 digits).
JO  : string = '/^\d{5}$/'
Jordan postal code pattern (5 digits).
JP  : string = '/^\d{3}-?\d{4}$/'
Japan postal code pattern (123-4567).
KE  : string = '/^\d{5}$/'
Kenya postal code pattern (5 digits).
KG  : string = '/^\d{6}$/'
Kyrgyzstan postal code pattern (6 digits).
KH  : string = '/^\d{5}$/'
Cambodia postal code pattern (5 digits).
KR  : string = '/^\d{5}$/'
South Korea postal code pattern (5 digits).
KW  : string = '/^\d{5}$/'
Kuwait postal code pattern (5 digits).
KY  : string = '/^KY\d-\d{4}$/'
Cayman Islands postal code pattern (KY1-1234).
KZ  : string = '/^\d{6}$/'
Kazakhstan postal code pattern (6 digits).
LA  : string = '/^\d{5}$/'
Laos postal code pattern (5 digits).
LB  : string = '/^\d{4}(?:\s?\d{4})?$/'
Lebanon postal code pattern (4 or 8 digits).
LI  : string = '/^948[5-9]|949[0-8]$/'
Liechtenstein postal code pattern (4 digits, 9485-9498).
LK  : string = '/^\d{5}$/'
Sri Lanka postal code pattern (5 digits).
LR  : string = '/^\d{4}$/'
Liberia postal code pattern (4 digits).
LS  : string = '/^\d{3}$/'
Lesotho postal code pattern (3 digits).
LT  : string = '/^LT-?\d{5}$/'
Lithuania postal code pattern (LT-12345).
LU  : string = '/^\d{4}$/'
Luxembourg postal code pattern (4 digits).
LV  : string = '/^LV-?\d{4}$/'
Latvia postal code pattern (LV-1234).
LY  : string = '/^\d{5}$/'
Libya postal code pattern (5 digits).
MA  : string = '/^\d{5}$/'
Morocco postal code pattern (5 digits).
MC  : string = '/^980\d{2}$/'
Monaco postal code pattern (980xx).
MD  : string = '/^(?:MD-?)?\d{4}$/'
Moldova postal code pattern (MD-1234 or 1234).
ME  : string = '/^\d{5}$/'
Montenegro postal code pattern (5 digits).
MG  : string = '/^\d{3}$/'
Madagascar postal code pattern (3 digits).
MH  : string = '/^969[6-7]\d$/'
Marshall Islands postal code pattern (96960-96970).
MK  : string = '/^\d{4}$/'
North Macedonia postal code pattern (4 digits).
MM  : string = '/^\d{5}$/'
Myanmar postal code pattern (5 digits).
MN  : string = '/^\d{5,6}$/'
Mongolia postal code pattern (5 or 6 digits).
MQ  : string = '/^972\d{2}$/'
Martinique postal code pattern (972xx).
MT  : string = '/^[A-Z]{3}\s?\d{4}$/i'
Malta postal code pattern (AAA 1234).
MU  : string = '/^[A-Z]?\d{4}$/i'
Mauritius postal code pattern (5 digits, A1234).
MV  : string = '/^\d{5}$/'
Maldives postal code pattern (5 digits).
MX  : string = '/^\d{5}$/'
Mexico postal code pattern (5 digits).
MY  : string = '/^\d{5}$/'
Malaysia postal code pattern (5 digits).
MZ  : string = '/^\d{4}$/'
Mozambique postal code pattern (4 digits).
NA  : string = '/^\d{5}$/'
Namibia postal code pattern (5 digits).
NC  : string = '/^988\d{2}$/'
New Caledonia postal code pattern (988xx).
NE  : string = '/^\d{4}$/'
Niger postal code pattern (4 digits).
NG  : string = '/^\d{6}$/'
Nigeria postal code pattern (6 digits).
NI  : string = '/^\d{5}$/'
Nicaragua postal code pattern (5 digits).
NL  : string = '/^\d{4}\s?[A-Z]{2}$/i'
Netherlands postal code pattern (1234 AB).
NO  : string = '/^\d{4}$/'
Norway postal code pattern (4 digits).
NP  : string = '/^\d{5}$/'
Nepal postal code pattern (5 digits).
NZ  : string = '/^\d{4}$/'
New Zealand postal code pattern (4 digits).
OM  : string = '/^\d{3}$/'
Oman postal code pattern (3 digits).
PA  : string = '/^\d{4}$/'
Panama postal code pattern (4 digits).
PE  : string = '/^\d{5}$/'
Peru postal code pattern (5 digits).
PF  : string = '/^987\d{2}$/'
French Polynesia postal code pattern (987xx).
PG  : string = '/^\d{3}$/'
Papua New Guinea postal code pattern (3 digits).
PH  : string = '/^\d{4}$/'
Philippines postal code pattern (4 digits).
PK  : string = '/^\d{5}$/'
Pakistan postal code pattern (5 digits).
PL  : string = '/^\d{2}-\d{3}$/'
Poland postal code pattern (12-345).
PM  : string = '/^97500$/'
Saint Pierre and Miquelon postal code pattern (97500).
PR  : string = '/^00[679]\d{2}(?:-\d{4})?$/'
Puerto Rico postal code pattern (US ZIP format).
PS  : string = '/^\d{3}$/'
Palestine postal code pattern (3 digits).
PT  : string = '/^\d{4}-\d{3}$/'
Portugal postal code pattern (1234-567).
PW  : string = '/^96940$/'
Palau postal code pattern (96940).
PY  : string = '/^\d{4}$/'
Paraguay postal code pattern (4 digits).
RE  : string = '/^974\d{2}$/'
Réunion postal code pattern (974xx).
RO  : string = '/^\d{6}$/'
Romania postal code pattern (6 digits).
RS  : string = '/^\d{5}$/'
Serbia postal code pattern (5 digits).
RU  : string = '/^\d{6}$/'
Russia postal code pattern (6 digits).
SA  : string = '/^\d{5}$/'
Saudi Arabia postal code pattern (5 digits).
SE  : string = '/^\d{3}\s?\d{2}$/'
Sweden postal code pattern (123 45).
SG  : string = '/^\d{6}$/'
Singapore postal code pattern (6 digits).
SI  : string = '/^\d{4}$/'
Slovenia postal code pattern (4 digits).
SJ  : string = '/^917[0-9]$/'
Svalbard postal code pattern (9170-9179).
SK  : string = '/^\d{3}\s?\d{2}$/'
Slovakia postal code pattern (123 45).
SM  : string = '/^4789\d$/'
San Marino postal code pattern (4789x).
SN  : string = '/^\d{5}$/'
Senegal postal code pattern (5 digits).
SO  : string = '/^\d{5}$/'
Somalia postal code pattern (5 digits).
SS  : string = '/^\d{5}$/'
South Sudan postal code pattern (5 digits).
SV  : string = '/^\d{4}$/'
El Salvador postal code pattern (4 digits).
SZ  : string = '/^[A-Z]\d{3}$/i'
Eswatini postal code pattern (A100-H300).
TC  : string = '/^TKCA\s?1ZZ$/i'
Turks and Caicos Islands postal code pattern (TKCA 1ZZ).
TH  : string = '/^\d{5}$/'
Thailand postal code pattern (5 digits).
TJ  : string = '/^\d{6}$/'
Tajikistan postal code pattern (6 digits).
TM  : string = '/^\d{6}$/'
Turkmenistan postal code pattern (6 digits).
TN  : string = '/^\d{4}$/'
Tunisia postal code pattern (4 digits).
TR  : string = '/^\d{5}$/'
Turkey postal code pattern (5 digits).
TT  : string = '/^\d{6}$/'
Trinidad and Tobago postal code pattern (6 digits).
TW  : string = '/^\d{3}(?:\d{2})?$/'
Taiwan postal code pattern (3 or 5 digits).
TZ  : string = '/^\d{5}$/'
Tanzania postal code pattern (5 digits).
UA  : string = '/^\d{5}$/'
Ukraine postal code pattern (5 digits).
US  : string = '/^\d{5}(?:-\d{4})?$/'
United States postal code pattern (5 or 9 digits).
UY  : string = '/^\d{5}$/'
Uruguay postal code pattern (5 digits).
UZ  : string = '/^\d{6}$/'
Uzbekistan postal code pattern (6 digits).
VA  : string = '/^00120$/'
Vatican City postal code pattern (00120).
VE  : string = '/^\d{4}$/'
Venezuela postal code pattern (4 digits).
VI  : string = '/^008\d{2}(?:-\d{4})?$/'
Virgin Islands (US) postal code pattern (008xx).
VN  : string = '/^\d{6}$/'
Vietnam postal code pattern (6 digits).
WF  : string = '/^98600$/'
Wallis and Futuna postal code pattern (98600).
YT  : string = '/^976\d{2}$/'
Mayotte postal code pattern (976xx).
ZA  : string = '/^\d{4}$/'
South Africa postal code pattern (4 digits).
ZM  : string = '/^\d{5}$/'
Zambia postal code pattern (5 digits).

Methods

assert()  : void
Throws an exception if the postal code is invalid for the country.
getPattern()  : string|null
Returns the regex pattern for the given country code, or null if unknown.
isValid()  : bool
Returns true if a postal code is valid for a given ISO country code.

Constants

AD

Andorra postal code pattern (AD100-AD700).

public string AD = '/^AD[1-7]0{2}$/'

AR

Argentina postal code pattern (4 or 8 characters).

public string AR = '/^(?:\d{4}|[A-Z]\d{4}[A-Z]{3})$/'

AZ

Azerbaijan postal code pattern (AZ 1000 - AZ 9999).

public string AZ = '/^AZ\d{4}$/'

BA

Bosnia and Herzegovina postal code pattern (5 digits).

public string BA = '/^\d{5}$/'

BB

Barbados postal code pattern (BB11000-BB99999).

public string BB = '/^BB\d{5}$/'

BD

Bangladesh postal code pattern (4 digits).

public string BD = '/^\d{4}$/'

BE

Belgium postal code pattern (1000–9999).

public string BE = '/^[1-9]\d{3}$/'

BH

Bahrain postal code pattern (3 or 4 digits).

public string BH = '/^\d{3,4}$/'

BM

Bermuda postal code pattern (AA 00 or AA AA).

public string BM = '/^[A-Z]{2}\s?(?:\d{2}|[A-Z]{2})$/'

BN

Brunei postal code pattern (AA1234).

public string BN = '/^[A-Z]{2}\d{4}$/'

BR

Brazil postal code pattern (12345-678).

public string BR = '/^\d{5}-?\d{3}$/'

CA

Canada postal code pattern (A1A 1A1).

public string CA = '/^[ABCEGHJ-NPRSTVXY]\d[ABCEGHJ-NPRSTV-Z][ ]?\d[ABCEGHJ-NPRSTV-Z]\d$/i'

CH

Switzerland postal code pattern (1000–9999).

public string CH = '/^[1-9]\d{3}$/'

CR

Costa Rica postal code pattern (5 digits).

public string CR = '/^\d{5}$/'

CV

Cape Verde postal code pattern (4 digits).

public string CV = '/^\d{4}$/'

CZ

Czech Republic postal code pattern (123 45 or 12345).

public string CZ = '/^\d{3}\s?\d{2}$/'

DO

Dominican Republic postal code pattern (5 digits).

public string DO = '/^\d{5}$/'

ES

Spain postal code pattern (01000–52999).

public string ES = '/^(?:0[1-9]|[1-4]\d|5[0-2])\d{3}$/'

FO

Faroe Islands postal code pattern (FO-100 to FO-970).

public string FO = '/^FO-?\d{3}$/'

FR

France postal code pattern (01000–98999).

public string FR = '/^(?:0[1-9]|[1-8]\d|9[0-8])\d{3}$/'

GB

Great Britain postal code pattern (complex UK postcode).

public string GB = '/^(?:GIR 0AA|(?:(?:(?:A[BL]|B[ABDHLNRSTX]?|C[ABFHMORTVW]|D[ADEGHLNTY]|E[HNX]?|F[KY]|G[LUY]?|H[ADGPRSUX]|I[GMPV]|JE|K[ATWY]|L[ADELNSU]?|M[EKL]?|N[EGNPRW]?|O[LX]|P[AEHLOR]|R[GHM]|S[AEGK-PRSTY]?|T[ADFNQRSW]|UB|W[ADFNRSV]|YO|ZE)[1-9]?\d|(?:(?:E|N|NW|SE|SW|W)1|EC[1-4]|WC[12])[A-HJKMNPR-Y]|(?:SW|W)(?:[2-9]|[1-9]\d)|EC[1-9]\d)\d[ABD-HJLNP-UW-Z]{2}))$/i'

GF

French Guiana postal code pattern (973xx).

public string GF = '/^973\d{2}$/'

GG

Guernsey postal code pattern (GY1-GY10).

public string GG = '/^GY\d{1,2}\s?\d[A-Z]{2}$/i'

GI

Gibraltar postal code pattern (GX11 1AA).

public string GI = '/^GX11\s?1AA$/i'

GL

Greenland postal code pattern (4 digits).

public string GL = '/^\d{4}$/'

GP

Guadeloupe postal code pattern (971xx).

public string GP = '/^971\d{2}$/'

GR

Greece postal code pattern (123 45 or 12345).

public string GR = '/^\d{3}\s?\d{2}$/'

GT

Guatemala postal code pattern (5 digits).

public string GT = '/^\d{5}$/'

GU

Guam postal code pattern (US ZIP format).

public string GU = '/^969\d{2}(?:-\d{4})?$/'

HR

Croatia postal code pattern (5 digits, 10000-53000).

public string HR = '/^[1-5]\d{4}$/'

ID

Indonesia postal code pattern (5 digits).

public string ID = '/^\d{5}$/'

IE

Ireland postal code pattern (Eircode: A65 F4E2).

public string IE = '/^[AC-FHKNPRTV-Y]\d{2}\s?[0-9AC-FHKNPRTV-Y]{4}$/i'

IL

Israel postal code pattern (5 or 7 digits).

public string IL = '/^\d{5}(?:\d{2})?$/'

IM

Isle of Man postal code pattern (IM1-IM9).

public string IM = '/^IM\d{1,2}\s?\d[A-Z]{2}$/i'

IR

Iran postal code pattern (10 digits, ####-#####).

public string IR = '/^\d{5}-?\d{5}$/'

JE

Jersey postal code pattern (JE1-JE5).

public string JE = '/^JE\d{1}\s?\d[A-Z]{2}$/i'

JP

Japan postal code pattern (123-4567).

public string JP = '/^\d{3}-?\d{4}$/'

KG

Kyrgyzstan postal code pattern (6 digits).

public string KG = '/^\d{6}$/'

KR

South Korea postal code pattern (5 digits).

public string KR = '/^\d{5}$/'

KY

Cayman Islands postal code pattern (KY1-1234).

public string KY = '/^KY\d-\d{4}$/'

KZ

Kazakhstan postal code pattern (6 digits).

public string KZ = '/^\d{6}$/'

LB

Lebanon postal code pattern (4 or 8 digits).

public string LB = '/^\d{4}(?:\s?\d{4})?$/'

LI

Liechtenstein postal code pattern (4 digits, 9485-9498).

public string LI = '/^948[5-9]|949[0-8]$/'

LK

Sri Lanka postal code pattern (5 digits).

public string LK = '/^\d{5}$/'

LT

Lithuania postal code pattern (LT-12345).

public string LT = '/^LT-?\d{5}$/'

LU

Luxembourg postal code pattern (4 digits).

public string LU = '/^\d{4}$/'

LV

Latvia postal code pattern (LV-1234).

public string LV = '/^LV-?\d{4}$/'

MD

Moldova postal code pattern (MD-1234 or 1234).

public string MD = '/^(?:MD-?)?\d{4}$/'

ME

Montenegro postal code pattern (5 digits).

public string ME = '/^\d{5}$/'

MG

Madagascar postal code pattern (3 digits).

public string MG = '/^\d{3}$/'

MH

Marshall Islands postal code pattern (96960-96970).

public string MH = '/^969[6-7]\d$/'

MK

North Macedonia postal code pattern (4 digits).

public string MK = '/^\d{4}$/'

MN

Mongolia postal code pattern (5 or 6 digits).

public string MN = '/^\d{5,6}$/'

MQ

Martinique postal code pattern (972xx).

public string MQ = '/^972\d{2}$/'

MT

Malta postal code pattern (AAA 1234).

public string MT = '/^[A-Z]{3}\s?\d{4}$/i'

MU

Mauritius postal code pattern (5 digits, A1234).

public string MU = '/^[A-Z]?\d{4}$/i'

MZ

Mozambique postal code pattern (4 digits).

public string MZ = '/^\d{4}$/'

NC

New Caledonia postal code pattern (988xx).

public string NC = '/^988\d{2}$/'

NI

Nicaragua postal code pattern (5 digits).

public string NI = '/^\d{5}$/'

NL

Netherlands postal code pattern (1234 AB).

public string NL = '/^\d{4}\s?[A-Z]{2}$/i'

NZ

New Zealand postal code pattern (4 digits).

public string NZ = '/^\d{4}$/'

PF

French Polynesia postal code pattern (987xx).

public string PF = '/^987\d{2}$/'

PG

Papua New Guinea postal code pattern (3 digits).

public string PG = '/^\d{3}$/'

PH

Philippines postal code pattern (4 digits).

public string PH = '/^\d{4}$/'

PL

Poland postal code pattern (12-345).

public string PL = '/^\d{2}-\d{3}$/'

PM

Saint Pierre and Miquelon postal code pattern (97500).

public string PM = '/^97500$/'

PR

Puerto Rico postal code pattern (US ZIP format).

public string PR = '/^00[679]\d{2}(?:-\d{4})?$/'

PS

Palestine postal code pattern (3 digits).

public string PS = '/^\d{3}$/'

PT

Portugal postal code pattern (1234-567).

public string PT = '/^\d{4}-\d{3}$/'

SA

Saudi Arabia postal code pattern (5 digits).

public string SA = '/^\d{5}$/'

SE

Sweden postal code pattern (123 45).

public string SE = '/^\d{3}\s?\d{2}$/'

SG

Singapore postal code pattern (6 digits).

public string SG = '/^\d{6}$/'

SJ

Svalbard postal code pattern (9170-9179).

public string SJ = '/^917[0-9]$/'

SK

Slovakia postal code pattern (123 45).

public string SK = '/^\d{3}\s?\d{2}$/'

SS

South Sudan postal code pattern (5 digits).

public string SS = '/^\d{5}$/'

SV

El Salvador postal code pattern (4 digits).

public string SV = '/^\d{4}$/'

SZ

Eswatini postal code pattern (A100-H300).

public string SZ = '/^[A-Z]\d{3}$/i'

TC

Turks and Caicos Islands postal code pattern (TKCA 1ZZ).

public string TC = '/^TKCA\s?1ZZ$/i'

TJ

Tajikistan postal code pattern (6 digits).

public string TJ = '/^\d{6}$/'

TM

Turkmenistan postal code pattern (6 digits).

public string TM = '/^\d{6}$/'

TT

Trinidad and Tobago postal code pattern (6 digits).

public string TT = '/^\d{6}$/'

TW

Taiwan postal code pattern (3 or 5 digits).

public string TW = '/^\d{3}(?:\d{2})?$/'

US

United States postal code pattern (5 or 9 digits).

public string US = '/^\d{5}(?:-\d{4})?$/'

UZ

Uzbekistan postal code pattern (6 digits).

public string UZ = '/^\d{6}$/'

VA

Vatican City postal code pattern (00120).

public string VA = '/^00120$/'

VE

Venezuela postal code pattern (4 digits).

public string VE = '/^\d{4}$/'

VI

Virgin Islands (US) postal code pattern (008xx).

public string VI = '/^008\d{2}(?:-\d{4})?$/'

WF

Wallis and Futuna postal code pattern (98600).

public string WF = '/^98600$/'

ZA

South Africa postal code pattern (4 digits).

public string ZA = '/^\d{4}$/'

Methods

assert()

Throws an exception if the postal code is invalid for the country.

public static assert(string $code, string $country) : void
Parameters
$code : string
$country : string
Tags
throws
InvalidArgumentException

getPattern()

Returns the regex pattern for the given country code, or null if unknown.

public static getPattern(string $country) : string|null
Parameters
$country : string

ISO 3166-1 alpha-2 code (case-insensitive)

Return values
string|null

isValid()

Returns true if a postal code is valid for a given ISO country code.

public static isValid(string $code, string $country) : bool
Parameters
$code : string

The postal code to check.

$country : string

ISO 3166-1 alpha-2 code (e.g. "FR", "US").

Return values
bool
On this page

Search results