Rexact
Cheatsheet

Regex LEI (Legal Entity Identifier)

An LEI isn't just "4 digits + 00 + 12 characters + 2 digits": a widespread belief holds that positions 5-6 are always "00", but that's only true by historical convention - Apple's real LEI (HWUPKR0MPOU8FGXBT394) has "KR" there, Microsoft's has "EJ". A GeeksforGeeks regex that hardcodes that "00" would therefore reject both companies' real, active LEIs, verified directly against the official GLEIF API. Here's a pattern that makes no such assumption, compared against that attempt and two others.

/^[A-Z0-9]{18}[0-9]{2}$/
passes 20/20 cases

Comparison of existing patterns

Implementation

const re = new RegExp("^[A-Z0-9]{18}[0-9]{2}$", "");
re.test(input);

Limits

  • Valide seulement la FORME (20 caractères alphanumériques majuscules) : ne calcule pas les 2 chiffres de contrôle ISO 7064 MOD 97-10 — un LEI syntaxiquement valide selon ce motif peut avoir une clé fausse et ne correspondre à aucune entité réellement enregistrée (voir HWUPKR0MPOU8FGXBT395 dans les exemples, structure correcte mais clé fausse).
  • Ne consulte pas l'API officielle GLEIF (api.gleif.org) : seule cette source confirme qu'un LEI est réellement attribué, actif, et à quelle entité.
  • Ne fait aucune hypothèse sur les positions 5-6 (souvent « 00 » par convention historique, mais pas toujours — les LEI d'Apple et de Microsoft en sont la preuve directe) : contrairement à plusieurs tentatives comparées ici qui codent cette hypothèse en dur.
  • N'accepte que les caractères ASCII majuscules et chiffres : un tiret cadratin ou tout autre caractère Unicode visuellement proche d'un caractère valide est rejeté, une confusion réelle rencontrée dans au moins une tentative trouvée en ligne.