Regex Brazilian licence plate
CONTRAN sets the Mercosul plate at 7 alphanumeric characters in the order LLLNLNN (resolution 780/2019, annex I): three letters, a digit, a letter, two digits, like 'ABC1D23'. The old LLLNNNN format (resolution 231/2007) is written 'ABC-1234', often with a hyphen; both coexist. Real attempts differ mostly on anchoring: validator.js's pt-BR regex has '^' only in its first branch and '$' only in its second, so 'XXABC1234' and 'ABC1D23XYZ' pass; node-placa-mercosul's is not anchored at all. Here's an anchored pattern accepting both formats, compared against those attempts.
/^[A-Z]{3}(?:-?[0-9]{4}|[0-9][A-Z][0-9]{2})$/passes 26/26 cases
Comparison of existing patterns
Implementation
const re = new RegExp("^[A-Z]{3}(?:-?[0-9]{4}|[0-9][A-Z][0-9]{2})$", "");
re.test(input);Limits
- Valide seulement la FORME : ne vérifie pas que la plaque est attribuée, ni la tranche de lettres de l'État. Aucune lettre n'est exclue par la résolution ; le motif accepte donc les 26 lettres, y compris A à J en 5e position, que l'annexe II réserve à la conversion d'anciennes plaques.
- Le tiret (facultatif) n'est accepté que pour l'ancien format ; le Mercosul est rejeté avec tiret ou espace (« ABC-1D23 »), la plaque physique n'en ayant pas. Les majuscules sont obligatoires : normalisez avant validation.
- Les plaques diplomatiques, consulaires (CD, CC, MBR…) et les plaques de collection, d'essai ou de moto à une ligne suivent d'autres règles et ne sont pas couvertes (la bibliothèque automex en gère quelques-unes).
- Basé sur le texte de 2019 : les modifications ultérieures de la résolution (par exemple la résolution 969/2022 citée dans la presse) n'ont pas été relues.
Licence plates for other countries
- Austrian licence plate
- Belgian licence plate
- Czech licence plate
- Dutch licence plate (kenteken)
- German licence plate
- Italian licence plate
- Polish licence plate
- Portuguese licence plate
- SIV license plate
- Spanish licence plate (current format)
- Swedish licence plate
- UK vehicle registration (current format)
- All licence plates by country