Rexact
Cheatsheet

Regex Swedish licence plate

The standard Swedish plate has three letters then three digits ('ABC 123'), or since 2019 three letters, two digits and a letter ('ABC 12A'). Transportstyrelsen states that the letters I, Q, V, Å, Ä and Ö are not used, and that O is not used as the last character of the new numbers, being easily mistaken for zero. Personalised plates, 2 to 7 characters, may not look like a standard number. Real attempts do not follow that list: a PHP package accepts any '\w' character (so 'IBC 123' and 'ABC 12_'), and validator.js's does exclude I, Q, V but rejects 'ABC 120' (last digit limited to 1-9) and accepts 'HELLO'. Here's a pattern strict on standard plates, compared against those attempts.

/^[A-HJ-PR-UW-Z]{3} ?(?:[0-9]{3}|[0-9]{2}[A-HJ-NPR-UW-Z])$/
passes 29/29 cases

Comparison of existing patterns

Implementation

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

Limits

  • Valide seulement la FORME : ne vérifie pas que le numéro est attribué. « AAA 000 » a la bonne forme, sans que la page de Transportstyrelsen dise s'il est émis ; aucune plage n'est exclue ici.
  • Ne couvre que les plaques standard. Les plaques personnalisées (2 à 7 caractères, toutes lettres permises, sans la forme d'un numéro standard), les plaques de véhicule diplomatique (« deux lettres + trois chiffres + une lettre »), de moto, de remorque ou d'essai ont d'autres formes et sont rejetées.
  • L'exclusion du O comme dernier caractère vient de la page de lancement du nouveau format ; je n'ai pas lu d'autre texte (règlement TSFS) qui liste d'éventuelles restrictions plus fines (par exemple des combinaisons de lettres réservées).
  • Une seule espace facultative entre les lettres et les chiffres ; majuscules obligatoires. Normalisez la saisie avant validation.

Licence plates for other countries

Related pages