Rexact
Cheatsheet

Regex SIV license plate

A developer had a working PCRE regex, but it used conditional syntax that doesn't exist in JavaScript — impossible to compile as written. The two Stack Overflow answers they got each have their own flaw: one forgets to exclude the "WW" combination on the second letter group. Here's a pattern that fixes that specific point, compared against the 3 real attempts.

/^(?!SS|WW)[A-HJ-NP-TV-Z]{2}[- ]?\d{3}[- ]?(?!SS|WW)[A-HJ-NP-TV-Z]{2}$/i
passes 20/20 cases

Comparison of existing patterns

SourcepatternScore on the corpusReDoS
Stack Overflow — regex PCRE d'origine de l'auteur, syntaxe conditionnelle absente de JS^(?(?!ss|ww)[a-hj-np-tv-z]{2})(?:\s|-)?[0-9]{3}(?:\s|-)?(?(?!ss)[a-hj-np-tv-z]{2})$does not compile—
Stack Overflow — réponse de VisioN, 3 votes, « WW » non exclu sur le second groupe^(?!ss|ww)[a-hj-np-tv-z]{2}[ -]?[0-9]{3}[ -]?(?!ss)[a-hj-np-tv-z]{2}$19 / 20safe
Stack Overflow — réponse de Qwertiy, approche différente (lettres génériques + exclusion par lookahead)^(?!ss|ww|.[iou]|[iou].)[a-z]{2}[-\s]?\d{3}[-\s]?(?!ss|ww|.[iou]|[iou].)[a-z]{2}$20 / 20safe

Implementation

const re = new RegExp("^(?!SS|WW)[A-HJ-NP-TV-Z]{2}[- ]?\\d{3}[- ]?(?!SS|WW)[A-HJ-NP-TV-Z]{2}$", "i");
re.test(input);

Limits

  • Ne couvre que le format SIV (en vigueur depuis 2009) : les plaques FNI antérieures (ex. « 1234 AB 56 », avec le numéro de département) restent légalement valides sur les véhicules non ré-immatriculés et suivent une structure entièrement différente.
  • Ne vérifie plus aucun département : depuis 2009, le numéro SIV lui-même ne code plus la région, contrairement à l'ancien format — l'autocollant régional visible sur la plaque est un choix esthétique du propriétaire, pas une donnée du numéro.
  • Les combinaisons « SS » et « WW » sont exclues par convention administrative actuelle : une regex figée ne s'adapte pas automatiquement si cette règle change à l'avenir.
  • Une plaque syntaxiquement valide n'est pas forcément une plaque réellement attribuée par l'ANTS : la forme ne prouve pas l'existence ni la conformité au fichier des immatriculations.

Licence plates for other countries

Related pages