Regex

Résolu
must21 Messages postés 209 Statut Membre -  
must21 Messages postés 209 Statut Membre -
Bonjour,
Je récupère un champ textarea et j'ai du mal à vérifier le contenu du champ avec une regex:
Mon champ doit contenir une suite de chaine qui doivent se présenter comme ceci: nomun=unechaine;nomdeux=uneautrechaine; et je veux vérifier que le champ contient bien une chaine suivi d'un égal puis une autre chaine suivi d'un point virgule et ceci une ou plusieurs fois.

Merci
Configuration: DELL Precision M4400
XP Pro 32bits
Intel T9400 2,54Ghz
4Go DDRII 800

6 réponses

  1. Claire
     
    if (ereg('^unnom=(.+);unnomdeux=(.+);$',$_POST['textarea']))
    {echo 'ta chaine a matche!';}
    else
    {echo 'echec';}

    je dirais que ça ressemble à ça ...
    0
  2. must21 Messages postés 209 Statut Membre 24
     
    Thamior: Merci pour le lien.
    Claire: c'est pas tout a fait sa :), ce que je veux c'est avoir ^[a-zA-Z]=[a-zA-Z];$ et cela une ou plusieurs fois dans le textarea.
    (une chaine suivi d'un égal puis une autre chaine suivi d'un point virgule, en une ou plusieurs fois dans le textarea).

    Merci
    0
  3. Claire
     
    oui j'ai dit de la merde en fait ...
    0
    1. must21 Messages postés 209 Statut Membre 24
       
      Ton intention était bonne ^^
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

    Essaie ceci :
    /^([a-zA-Z]+=[a-zA-Z]+;)+$/

    Et si tu veux autoriser la dernière égalité à ne pas se terminer par un point-virgule :
    /^([a-zA-Z]+=[a-zA-Z]+;)*([a-zA-Z]+=[a-zA-Z]+;?)$/

    Xavier
    0
  6. must21 Messages postés 209 Statut Membre 24
     
    Je viens de tester ceci:

    ^(([a-z]+)=([a-z]+);)+$
    et sa marche !

    Merci à tous et +1 pour Xavier
    0