Bonjour,
Je cherche à contrôler le format d'une plaque d'immatriculation entrée via un formulaire. Je fais avant tout une suppression des - (tirets) des nouvelles plaques, retire les espaces blancs et formate tout en majuscules.
Je cherche à détecter ainsi, en simplifiant :
1AA11 à 9999ZZZ99 anciennes plaques
AA111AA à ZZ999ZZ nouvelles plaques
(Je sais que j'exclu certains véhicules).
J'ai récupéré 2 scripts que j'avais commencé, mais en essayant de les tromper j'y arrive, genre 12345ZZZ99 passe , alors que je désire limiter à maxi 4 chiffres le début.
if (strlen($var) <= 9 && (bool)preg_match('~\d{1,4}[A-Z]{1,4}\d{1,2}$~', $var)) { echo "ancienne plaque : $var" ;}
elseif (strlen($var) <= 7 && (bool)preg_match('~[A-Z]{1,2}\s*\d{1,3}\s*[A-Z]{1,2}$~iu', $var)) { echo " nouvelle plaque : $var" ;
J'ai vraiment du mal à combiner les tests sur une seule ligne, comment puis-je fractionner mes tests en 3 blocs ? 1234 AA 75 ou AA 123 AA.
Merci d'avance !
Nicolas
Partager