OVH Cloud OVH Cloud

Probleme avec les expressions regulieres

4 réponses
Avatar
Olivier
Bonsoir,

Je cherche à faire une function qui vérifie une chaine de caractères s'il
elle ne comporte pas des caractères autres que alphanumérique et
l'underscore.

function VerifierChaine($buf) {
if (!eregi("^[a-zA-Z0-9_]", $buf)) {
return false;
} else {
return true;
}
}

Mais ca ne marche pas.
Qqun peut me dire ce qu'il ne va pas ?

Merci

Olivier

4 réponses

Avatar
Khone
Salut

Il te suffit de rajouter un $ à la fin de ton expression
régulière, ce qui veut dire "se termine par" (le caractère
précédent le $) et un + après ton ], pour dire qu'il faut
qu'il y ait au moins un caractère.

^[a-zA-Z0-9_]+$

Khône
Avatar
Edouard Guerin
Bonjour,

peut être :

if (!eregi("^([a-z0-9_]*)$", $buf)) {
return false;
}
else {
return true;
}

A essayer.

Bonne journée.

--
Edouard Guérin
http://www.icitrus.net
Avatar
Thibaut Allender
"Olivier" wrote in message
news:3f898295$0$28911$

function VerifierChaine($buf) {
if (!eregi("^[a-zA-Z0-9_]", $buf)) {
return false;
} else {
return true;
}
}

Mais ca ne marche pas.
Qqun peut me dire ce qu'il ne va pas ?


ici tu ne testes que le premier caractere...

il faut ajouter qu'un veut un caractere ou plus, ainsi que le caractere de
fin de ligne :

eregi("^[a-zA-Z0-9_]+$", $buf))

a+

--
+ thibaut allender // web design + php dev + digital photo
+ http://www.capsule.org

Avatar
Tonio
function VerifierChaine($buf) {
return !eregi("[:alnum:]*", $buf);
}

essaie ça ça devrait fonctionner