IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Créer une regex pour plaque d'immatriculation [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 181
    Points : 114
    Points
    114
    Par défaut Créer une regex pour plaque d'immatriculation
    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.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (strlen($var) <= 9 && (bool)preg_match('~\d{1,4}[A-Z]{1,4}\d{1,2}$~', $var)) {   echo "ancienne plaque : $var"  ;}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 181
    Points : 114
    Points
    114
    Par défaut réponse
    Désolé, je viens de retrouver mes scripts modifiés, ça passe mieux ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (strlen($var) <= 9 && preg_match("#^[0-9]{1,4}[A-Z]{1,4}[0-9]{1,2}$#", $var)) {   echo "ancienne plaque : $var"  ;}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    elseif  (strlen($var) <= 7 && preg_match("#^[A-Z]{1,2}[0-9]{1,3}[A-Z]{1,2}$#", $var))  {   echo " nouvelle plaque : $var"   ;}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] Aide pour créer une regex
    Par lemirandais dans le forum Langage
    Réponses: 2
    Dernier message: 02/08/2009, 16h40
  2. Créer une contraintes pour une suppression
    Par subzero82 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 04/10/2005, 17h36
  3. Réponses: 7
    Dernier message: 29/07/2005, 09h51
  4. Créer une partition pour une table
    Par Erakis dans le forum SQL Procédural
    Réponses: 22
    Dernier message: 28/02/2005, 18h39
  5. Créer une vue pour trier une requete UNION ?
    Par Etienne Bar dans le forum SQL
    Réponses: 3
    Dernier message: 03/01/2003, 20h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo