Rexact
Cheatsheet

Regex plaque d'immatriculation allemande

Une plaque allemande s'écrit B-AB 1234 : un code de district de 1 à 3 lettres, 1 ou 2 lettres de série, un nombre de 1 à 9999 sans zéro initial, et un suffixe facultatif E (électrique) ou H (historique). L'annexe 4 de la FZV limite en plus la plaque à 8 caractères au total. La bibliothèque validator.js, avec sa liste de districts de 2,6 ko, accepte pourtant « B-AB 0 » et « B-AB 0123 » (testé). Les autres tentatives réelles ne connaissent pas la limite de 8 caractères : « MÜN-AB 1234 » en a 9. Voici un motif qui suit la FZV, comparé à ces trois tentatives.

/^(?![A-ZÄÖÜ]{3}-[A-Z]{2} [0-9]{4})[A-ZÄÖÜ]{1,3}-[A-Z]{1,2} [1-9][0-9]{0,3}[EH]?$/
passe 24/24 cas

Comparatif des patterns existants

Implémentation

const re = new RegExp("^(?![A-ZÄÖÜ]{3}-[A-Z]{2} [0-9]{4})[A-ZÄÖÜ]{1,3}-[A-Z]{1,2} [1-9][0-9]{0,3}[EH]?$", "");
re.test(input);

Limites

  • Valide seulement la FORME : ne connaît pas la liste officielle des codes de district (KBA) : « XXX-AB 12 » a la bonne forme sans que « XXX » existe. Une table de districts doit être ajoutée si vous devez distinguer les codes attribués.
  • Applique la limite de 8 caractères de l'annexe 4 de la FZV pour les districts à 3 lettres avec 2 lettres de série et 4 chiffres (9 caractères), mais l'ambiguïté du décompte du suffixe E ou H n'a pas été tranchée par la source consultée.
  • La regex de validator.js (de-DE), de 2546 caractères, dépasse la limite de 2000 caractères du moteur de ce site et n'est donc pas dans le tableau : comme elle accepte « B-AB 0 », « B-AB 0123 » et « B-AB 12 E » (testé en 13.15.35), elle est citée ici plutôt que scorée. Les combinaisons exclues en pratique (SS, NS, HJ, KZ, SA…) ne figurent pas dans la loi, qui parle seulement de « guten Sitten » : elles dépendent de pratiques administratives locales et ne sont pas filtrées.
  • Exige le tiret et l'espace de la plaque officielle, en majuscules : « B AB 123 » et « B-AB123 » sont rejetés. Les plaques spéciales (diplomatiques, saisonnières, Zoll…) ne sont pas couvertes.

Plaques d’immatriculation d’autres pays

Pages liées