Rexact
Cheatsheet

Regex plaque d'immatriculation autrichienne

Une plaque autrichienne commence par le code de l'autorité d'immatriculation (1 à 3 lettres, annexe 5d du règlement KFG-DV) suivi de la « Vormerkzeichen ». Le § 26 al. 6 du KFG-DV fixe pour la plaque standard : 4 à 6 caractères au total en pratique, un bloc de chiffres puis un bloc de 1 à 3 lettres (« W 12345 A », « G 123 AB »), jamais de lettres mêlées aux chiffres, pas de zéro en tête du bloc de chiffres, ni de lettres Q, Ä, Ö, Ü. Les plaques personnalisées inversent l'ordre : lettres d'abord, chiffres à la fin (« W AB1 »). Les tentatives réelles ne connaissent pas ces règles : un paquet Go accepte « W 00123 A » (zéro en tête) et celui de CodeCornTech accepte « W 1234 QB » (Q interdit). Voici un motif qui applique ces règles, comparé à ces tentatives.

/^[A-PR-Z]{1,3}[ -](?:(?=(?:[0-9A-Z] ?){4,6}$)[1-9][0-9]{0,4} ?[A-NPR-Z][A-PR-Z]{0,2}|(?=(?:[0-9A-Z] ?){3,6}$)[A-PR-Z]{1,5} ?[1-9][0-9]{0,4})$/
passe 29/29 cas

Comparatif des patterns existants

SourcepatternScore sur le corpusReDoS
@randock/license-plate-validator (at, deux regex réunies par | ; l'entrée est d'abord normalisée, sans espace ni tiret) — liste de codes d'autorité (partiellement périmée) ; testé brut, « W 12345 A » est rejeté (séparateurs) alors que « W00123A » (zéro en tête) et « W1234AB » passent^(A|B|E|G|I|K|L|N|O|P|S|T|V|W)(([A-PR-Z]{1,2})([0-9]{3,5})|([0-9]{1,2})([A-PR-Z]{3,5})|([A-PR-Z]{3,5})([0-9]{1,2})|([0-9]{3,5})([A-PR-Z]{1,2}))$|^(AM|BA|BB|BD|BG|BH|BL|BM|BN|BP|BR|BZ|DL|DO|EF|EU|FB|FE|FF|FK|FR|FV|FW|GB|GD|GF|GK|GM|GR|GS|GU|HA|HB|HE|HF|HL|HO|IL|IM|JE|JO|JU|JW|KB|KG|KI|KF|KK|KL|KO|KR|KS|KU|LA|LB|LE|LF|LI|LL|LN|LZ|MA|MD|ME|MI|MT|MU|MZ|ND|NK|OP|OW|PE|PL|PT|RA|RE|RI|RO|SB|SD|SE|SK|SL|SP|SO|SR|ST|SV|SW|SZ|TA|TD|TK|TU|UU|VB|VD|VI|VK|VL|VO|WB|WD|WK|WE|WL|WN|WO|WT|WU|WY|WZ|ZE|ZT|ZW)(([A-PR-Z]{1,2})([0-9]{3,5})|([0-9]{1,2})([A-PR-Z]{3,5})|([A-PR-Z]{3,5})([0-9]{1,2})|([0-9]{3,5})([A-PR-Z]{1,2}))$15 / 29sûr
truejacobg/eu-licence-validator (Go) — 1 à 2 lettres, 3 à 5 chiffres, 1 lettre facultative : « W 00123 A » passe ; refuse les codes à 3 lettres (« LIB 123 A ») et les blocs de 1 à 2 lettres finales (« W 1234 AB »)^([A-Z]{1,2})\s?(\d{3,5})\s?([A-Z]?)$15 / 29sûr
CodeCornTech (euro-plate-validator) — 1 à 3 lettres, 1 à 4 chiffres, 0 à 2 lettres : accepte « W 0 », « W 1234 QB » (Q interdit) et « LIB 123 A » ; refuse « W 12345 A » (5 chiffres) et toute plaque personnalisée « W AB1 »^[A-Z]{1,3}\s?\d{1,4}\s?[A-Z]{0,2}$17 / 29sûr

Implémentation

const re = new RegExp("^[A-PR-Z]{1,3}[ -](?:(?=(?:[0-9A-Z] ?){4,6}$)[1-9][0-9]{0,4} ?[A-NPR-Z][A-PR-Z]{0,2}|(?=(?:[0-9A-Z] ?){3,6}$)[A-PR-Z]{1,5} ?[1-9][0-9]{0,4})$", "");
re.test(input);

Limites

  • Valide seulement la FORME : ne contient pas la liste des codes d'autorité (annexe 5d du KFG-DV, qui a changé plusieurs fois, par exemple à la suite de fusions de districts). « XY 1234 A » a la bonne forme sans que « XY » soit un code existant ; seul un tableau de codes, non repris ici, le détecterait.
  • La longueur du § 26 dépend de la plaque (4 à 5 caractères en règle, 5 à 6 dans les capitales de Land et à Vienne, 4 à 6 sur plaque à deux lignes) : le motif accepte 4 à 6 pour la plaque standard et 3 à 6 pour la personnalisée sans distinguer ces cas. Il suit le texte consolidé du RIS lu en octobre 2026 ; une modification ultérieure n'est pas exclue.
  • Le O en tête du bloc de lettres n'est rejeté que sur la plaque standard (Z 5), pas sur la personnalisée. Les plaques d'organes (A, B, BP, FW…), diplomatiques (D, K) et historiques, de moto ou de remorque ont d'autres règles et ne sont pas toutes couvertes.
  • Le code d'autorité est suivi d'un espace ou d'un tiret obligatoire (le blason à l'écrit est remplacé par un tiret, al. 7) ; une espace facultative sépare les deux blocs. Majuscules obligatoires.

Plaques d’immatriculation d’autres pays

Pages liées