Regex

Résolu
must21 Messages postés 190 Date d'inscription   Statut Membre Dernière intervention   -  
must21 Messages postés 190 Date d'inscription   Statut Membre Dernière intervention   -
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

6 réponses

Thamior Messages postés 264 Date d'inscription   Statut Membre Dernière intervention   47
 
Bonjour,

Je te propose quelques sites qui pourront t'aider :
- PHP : [http://www.switchplane.com/utilities/preg_match-regular-expression-tester.php
- JS : http://quentinc.net/testeur-expressions-regulieres
- JS : https://www.toutjavascript.com/service/regexp.php

Bonne chance,

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

je dirais que ça ressemble à ça ...
0
must21 Messages postés 190 Date d'inscription   Statut Membre Dernière intervention   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
Claire
 
oui j'ai dit de la merde en fait ...
0
must21 Messages postés 190 Date d'inscription   Statut Membre Dernière intervention   24
 
Ton intention était bonne ^^
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   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
must21 Messages postés 190 Date d'inscription   Statut Membre Dernière intervention   24
 
Je viens de tester ceci:

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

Merci à tous et +1 pour Xavier
0