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 :

Difficulté à la création d'une regex [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 56
    Par défaut Difficulté à la création d'une regex
    Bonjour,
    J'ai quelques difficultés a crée un regex un peu particulier, et j'avouerai que je débute un peu dans les regex, si quelqu'un aurait la générosité de m'aider .
    J'aimerai que ce regex autorise les chaines de caractères majuscules et minuscule mais en ce qui concerne les majuscules il ne faut pas plus que 3 d'affilée.
    On autorise également les "." et "-".
    Voila ce qui est valide:"AAA A.B.C.D Fais Un Test Spec-TI"
    N'est pas valide:"AAAA ABCD tes#t"

    Merci d'avance pour votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 56
    Par défaut A tester
    Bonjour,

    Est-ce que cette expression convient : [a-z(A-Z){1,3}\.\-]*

    Je ne l'ai pas testée.

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 56
    Par défaut
    Bonjour,
    tous d'abord merci pour ton aide.
    En testant ta fonction via un site web comme http://www.regexr.com/ je remarque qu'il laisse passé plus de 3majuscules d'affilée.
    Voici une image:
    Nom : regex.PNG
Affichages : 269
Taille : 5,4 Ko

    J'ai essayé différent types de combinaison mais je n'arrive jamais au bon résultat .
    Cordialement,
    Zoners

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 56
    Par défaut Cette solution fonctionne mais il faut effectuer d'autres tests
    Voici une solution qui répond à tes 2 cas de tests:

    ^[a-zA-Z\s\.\-]*[A-Z]{0,3}$

    A vérifier sur d'autres cas.

  5. #5
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Par défaut
    Bonjour.

    Testez cette page ".html" avec votre navigateur favori !...
    Code : 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
    21
    <html><head>
         <script type="text/javascript">
         function controle()
              {
         chaine = document.forms[0].elements['saisie'].value ;
     
         if ( /^(([a-z]+|[A-Z]{1,3})[ \.-])*([a-z]+|[A-Z]{1,3})$/.test(chaine) == true )
              alert ("OK") ;
         else
              alert ("Cette chaine de caractère n'est pas valide ") ;
              }
         </script>
    </head><body style="font: 16px verdana;" onload="document.getElementById('saisie').focus()"> 
         <FORM method="POST" onsubmit="controle()">
              Entrez une chaine de caractères : 
              <input name="saisie" type="text" maxlength=20>
              (Longueur 20 : Majuscules, minuscules, séparés par un point ou un tiret)
              <br><br>
              <input type="submit">
         </FORM>
    </body></html>
    La regex devrait être correcte, suivant vos indications...
    Attention votre expression ne doit pas commencer ni finir par " " ou "." ou "-"... (règle à affiner si vous tolérez les espaces en fin de chaine)
    Les groupes de lettres sont, soit en minuscules, soit en Majuscules (ils ne sont pas mixtes)...

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 56
    Par défaut
    Bonjour Iakou,
    Le dernier regex que tu as fourni semble bien fonctionner.
    Serait-il éventuellement possible d'autoriser le mixte de lettre majuscule et minuscule? (tous en prenant en compte qu'il ne faut pas plus de trois majuscules qui se suive)
    Merci d'avance.

    Cordialement,
    Zoners

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

Discussions similaires

  1. [XL-2013] Difficultés pour la création d'une macro sur deux colonnes de nombres
    Par mr_hodor dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 08/07/2014, 12h49
  2. [RegEx] Création d'une Regex d'exclusion
    Par Phiss dans le forum Langage
    Réponses: 6
    Dernier message: 20/02/2013, 22h32
  3. Difficultés avec une regex ou charset
    Par lecroquant dans le forum Langage
    Réponses: 0
    Dernier message: 08/01/2012, 14h00
  4. Création d'une Regex (TextBox Float)
    Par snakzbenjy dans le forum Silverlight
    Réponses: 2
    Dernier message: 13/04/2011, 20h07
  5. Difficulté de création d'une requête
    Par defcon_suny dans le forum Requêtes
    Réponses: 31
    Dernier message: 16/07/2008, 09h34

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