Rexact
Cheatsheet

Regex Eircode irlandais

Un Eircode irlandais a 7 caractères : une clé d'acheminement (« A65 », ou le cas unique « D6W ») et un identifiant de 4 caractères. Beaucoup de lettres sont exclues : seules A C D E F H K N P R T V W X Y sont utilisées. La réponse acceptée sur Stack Overflow (31 votes) place « ^ » sur la première alternative seulement, donc « XD6W1234 » passe. Une autre, à 14 votes, cite la règle officielle d'écrire « toujours A65 F4E2, jamais A65F4E2 » puis propose une regex qui rejette la forme avec espace. Et celle de validator.js, un des paquets npm les plus téléchargés, exige une espace et accepte des lettres interdites. Voici un motif strict, comparé à ces tentatives réelles.

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

Comparatif des patterns existants

Implémentation

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

Limites

  • 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.

Codes postaux d’autres pays

Pages liées