Regex

Résolu/Fermé
must21 Messages postés 190 Date d'inscription jeudi 18 septembre 2008 Statut Membre Dernière intervention 9 septembre 2012 - 30 juil. 2009 à 15:49
must21 Messages postés 190 Date d'inscription jeudi 18 septembre 2008 Statut Membre Dernière intervention 9 septembre 2012 - 30 juil. 2009 à 16:53
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 lundi 11 février 2008 Statut Membre Dernière intervention 18 mars 2014 47
30 juil. 2009 à 15:51
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
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 jeudi 18 septembre 2008 Statut Membre Dernière intervention 9 septembre 2012 24
30 juil. 2009 à 16:09
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
oui j'ai dit de la merde en fait ...
0
must21 Messages postés 190 Date d'inscription jeudi 18 septembre 2008 Statut Membre Dernière intervention 9 septembre 2012 24
30 juil. 2009 à 16:12
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 jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
30 juil. 2009 à 16:50
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 jeudi 18 septembre 2008 Statut Membre Dernière intervention 9 septembre 2012 24
30 juil. 2009 à 16:53
Je viens de tester ceci:

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

Merci à tous et +1 pour Xavier
0