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 :

Regex pour les permis de conduire français [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 578
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 578
    Points : 804
    Points
    804
    Par défaut Regex pour les permis de conduire français
    Bonjour,

    Je veux contrôler une liste de permis de conduire français de la forme "B D E". Les catégories sont séparées par des espaces.
    J'ai écris la regex "#^([A-F]( [A-F]){0,5})$#" qui fonctionne.

    Je voudrais autoriser un "0" tout seul pour dire aucun permis. J'ai testé la regex suivante qui ne fonctionne pas:
    "#^([A-F]( [A-F]){0,5})$|^0$#"

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    parfois, il faut réfléchir un peu à une autre solution que les regex...

    Il te suffit de mettre des cases à cocher (checkbox), et le tour est joué (pas besoin de vérifier : il suffit de cocher !)

  3. #3
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Il faut aussi contrôler qu'une lettre n'apparaisse qu'une seule fois. De plus, amha, cela ne sert à rien de contrôler qu'il y a un espace entre les deux lettres. AB devrait être aussi valide que A B.

    Essaie çà (à peine testé).

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <?php
    function toto($texte)
    {
     $pattern = "/^((0)|(A{0,1}B{0,1}C{0,1}D{0,1}E{0,1}F{0,1})|([A-F]))$/";
     $array   = str_split ($texte,1);
     sort($array);
     $texte2  = trim(implode('',$array));
     return preg_match($pattern,$texte2);
    }
    print toto("A B C D E F")."<br/>";
    print toto("FBCADE")."<br/>";
    print toto("FBCAFE")."<br/>";
    print toto("FBCAE")."<br/>";
    print toto("0")."<br/>";
    print toto("D")."<br/>";
    print toto("A E")."<br/>";
    print toto("E A")."<br/>";
    print toto("E E F")."<br/>";
    print toto("A B-C D E F")."<br/>";
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    A titre indicatif, ça pourrait être utile d'avoir le contexte :
    Si la donnée vient directement d'un formulaire, la proposition de jreaux est intéressante.
    Si la donnée vient d'un fichier texte (par exemple), est-ce que le format t'est imposé, ou peux-tu le choisir ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Je vois que cette discussion est marquée comme résolue.
    Ce serait bien de préciser comment. Qu’on n’ait pas l’impression d’avoir perdu du temps à fournir une réponse.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 578
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 578
    Points : 804
    Points
    804
    Par défaut
    Avec la solution de jreaux62

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

Discussions similaires

  1. [RegEx] Regex pour les mots
    Par sheik5757 dans le forum Langage
    Réponses: 4
    Dernier message: 29/12/2008, 10h37
  2. [RegEx] Souci des regex pour les puces donc erreurs W3C
    Par retour dans le forum Langage
    Réponses: 10
    Dernier message: 04/10/2008, 15h09
  3. [RegEx] REGEX pour les balises a
    Par temperature dans le forum Langage
    Réponses: 3
    Dernier message: 10/04/2008, 14h56
  4. [RegEx] Regex pour les entiers
    Par kenny.kev dans le forum Langage
    Réponses: 3
    Dernier message: 10/04/2008, 09h56
  5. [RegEx] Regex pour les accents et autres
    Par yule dans le forum Langage
    Réponses: 4
    Dernier message: 21/08/2006, 15h47

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