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})$/Comparatif des patterns existants
| Source | pattern | Score sur le corpus | ReDoS |
|---|---|---|---|
| @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 / 29 | sû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 / 29 | sû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 / 29 | sû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
- plaque d'immatriculation allemande
- plaque d'immatriculation belge
- plaque d'immatriculation brésilienne
- plaque d'immatriculation britannique (format actuel)
- plaque d'immatriculation espagnole (format actuel)
- plaque d'immatriculation italienne
- plaque d'immatriculation néerlandaise (kenteken)
- plaque d'immatriculation polonaise
- plaque d'immatriculation portugaise
- plaque d'immatriculation SIV
- plaque d'immatriculation suédoise
- plaque d'immatriculation tchèque
- Toutes les plaques d’immatriculation par pays