Regex Czech postal code (PSČ)
A Czech PSČ is written '110 00': 3 digits, a space, 2 digits, and the first digit runs from 1 to 7 (8, 9 and 0 are reserved for Slovakia). A widely reused gist publishes for Czech the regex '^\d{5}\s\(\d{3}\s\d{2}\)$', which requires the literal form '11000 (110 00)': every real code is rejected, a format description copied as a regex. A Stack Overflow answer (7 votes) reuses '^(\d{5})$' from an old GeoNames file, which rejects the canonical '110 00'. Here's a pattern accepting an optional space and bounding the first digit, compared against those real attempts.
/^[1-7][0-9]{2} ?[0-9]{2}$/passes 22/22 cases
Comparison of existing patterns
Implementation
const re = new RegExp("^[1-7][0-9]{2} ?[0-9]{2}$", "");
re.test(input);Limits
- Valide seulement la FORME (3 chiffres, espace facultative, 2 chiffres, premier chiffre de 1 à 7) : ne vérifie pas qu'un PSČ est réellement attribué par Česká pošta. « 299 99 » passe aussi bien que le vrai « 110 00 » (Prague 1).
- La règle « premier chiffre de 1 à 7 » vient de Wikipédia (source de dernier recours) et des codes GeoNames, qui n'en contiennent aucun commençant par 0, 8 ou 9 : les chiffres 8 et 9 sont attribués à la Slovaquie. Elle n'est pas dans le document de Česká pošta consulté.
- L'espace est obligatoire d'après Česká pošta (« une espace entre les trois chiffres et les deux chiffres ») : l'accepter facultative (« 11000 ») est une tolérance de saisie. Normalisez le code en « 110 00 » avant de le stocker ou de l'afficher.
- Le bloc 200 00 à 249 99, que Wikipédia décrit comme réservé aux besoins internes de la poste, passe ce motif — alors que le siège de Česká pošta lui-même (225 99 Praha 1) y est domicilié : une regex bâtie sur les plages des données publiques le rejetterait à tort.
Postal codes for other countries
- Argentine postal code (CPA)
- Australian postcode
- Brazilian postal code (CEP)
- Canadian postal code
- Dutch postal code
- French postal code
- German postal code (PLZ)
- Indian PIN code
- Irish Eircode
- Japanese postal code
- Polish postal code
- Portuguese postal code
- Spanish postal code
- Swedish postal code
- Swiss postal code (PLZ/NPA)
- UK postcode
- US ZIP code (ZIP and ZIP+4)
- All postal codes by country