Bonjour à tous,
Depuis plusieurs heures, je me bat avec les expressions régulières (je n'en avais jamais manipulé auparavant.
Mon besoin est simple mais pas assez pour moi
Je souhaite vérifier une chaîne et que cette vérification me renvoie vrai s'il est trouvé les caractères suivants (je ne les mets pas tous) :
- éçè&@à
- ou encore qu'il y a plus d'un "." (point)
Donc s'il y a plus d'un point dans la chaîne (pas forcément consécutifs) ou un caractère accentué, la fonction doit renvoyer vrai
Voilà ce que j'ai fait :
Voilà ce que j'obtiens lorsque je compare (méthode test de l'objet regExp en javascript) le pattern avec ces chaines :
- la lettre "a" : renvoie FAUX
- la chaine "aaaa" ou n'importe quelle chaine de caractères non accentués avec ou sans "." : renvoie VRAI (là c'est un pb)
- la chaine "élève" : renvoie VRAI
Donc cela ne convient pas, j'aurais dû obtenir faux pour la chaine "aaaa"
Merci de votre aide
PS : pas la peine de m'envoyer sur commentçamarche, toutjavascript et compagnie, j'ai lu ce qu'il y avait à lire ou presque. Effectivement, ça parait facile lorsqu'on explique une expression toute faite, mais c'est bien plus difficile d'en créer une
Modifié par manu_css (22 Jun 2007 - 10:11)
Depuis plusieurs heures, je me bat avec les expressions régulières (je n'en avais jamais manipulé auparavant.
Mon besoin est simple mais pas assez pour moi

Je souhaite vérifier une chaîne et que cette vérification me renvoie vrai s'il est trouvé les caractères suivants (je ne les mets pas tous) :
- éçè&@à
- ou encore qu'il y a plus d'un "." (point)
Donc s'il y a plus d'un point dans la chaîne (pas forcément consécutifs) ou un caractère accentué, la fonction doit renvoyer vrai
Voilà ce que j'ai fait :
var fichier = document.forms["upload"].elements["fichierUploade"].value;
var reg = new RegExp("[àéè]|\.{2,}", "ig");
var res = reg.test(fichier);
if(res)
{
alert("expression vérifiée");
}
else
{
alert("expression non vérifiée");
}
Voilà ce que j'obtiens lorsque je compare (méthode test de l'objet regExp en javascript) le pattern avec ces chaines :
- la lettre "a" : renvoie FAUX
- la chaine "aaaa" ou n'importe quelle chaine de caractères non accentués avec ou sans "." : renvoie VRAI (là c'est un pb)
- la chaine "élève" : renvoie VRAI
Donc cela ne convient pas, j'aurais dû obtenir faux pour la chaine "aaaa"
Merci de votre aide
PS : pas la peine de m'envoyer sur commentçamarche, toutjavascript et compagnie, j'ai lu ce qu'il y avait à lire ou presque. Effectivement, ça parait facile lorsqu'on explique une expression toute faite, mais c'est bien plus difficile d'en créer une

Modifié par manu_css (22 Jun 2007 - 10:11)