Rexact
Cheatsheet

Regex Irish Eircode

An Irish Eircode has 7 characters: a routing key ('A65', or the unique case 'D6W') and a 4-character identifier. Many letters are excluded: only A C D E F H K N P R T V W X Y are used. The accepted Stack Overflow answer (31 votes) puts '^' on the first alternative only, so 'XD6W1234' passes. Another, at 14 votes, quotes the official rule to write 'always A65 F4E2, never A65F4E2' and then offers a regex rejecting the spaced form. And validator.js's, one of the most downloaded npm packages, requires a space and accepts forbidden letters. Here's a strict pattern, compared against those real attempts.

/^(?:D6W|[AC-FHKNPRTV-Y][0-9]{2}) ?[0-9AC-FHKNPRTV-Y]{4}$/
passes 26/26 cases

Comparison of existing patterns

Implementation

const re = new RegExp("^(?:D6W|[AC-FHKNPRTV-Y][0-9]{2}) ?[0-9AC-FHKNPRTV-Y]{4}$", "");
re.test(input);

Limits

  • Valide seulement la FORME (clé lettre-chiffre-chiffre ou D6W, puis 4 caractères parmi les lettres autorisées et les chiffres) : ne vérifie pas que la clé d'acheminement existe parmi les 139 clés attribuées. « D19 F5P2 » passe, alors que D19 n'existe pas, comme D21 et D23 ; seule une énumération complète des clés, que ce motif ne reprend pas, les distinguerait.
  • Les règles détaillées (lettres autorisées, D6W) viennent d'AutoAddress, un fournisseur de données licencié Eircode, et non de la page officielle eircode.ie, qui ne cite que l'exclusion de la lettre O et l'exemple A65 F4E2. Le guide produit officiel de l'Eircode n'a pas été retrouvé en ligne.
  • Accepte les deux écritures, avec espace (« A65 F4E2 », forme d'affichage officielle) ou sans (« A65F4E2 », forme de stockage officielle) : normalisez en majuscules sans espace avant stockage, avec espace pour l'affichage.
  • N'accepte que des majuscules ASCII : « a65 f4e2 » est rejeté. Normalisez la casse avant validation si vos utilisateurs saisissent en minuscules.

Postal codes for other countries

Related pages