C'est surement dans la FAQ
Mais je n'ais pas su trouver ...
Pouvez vous me rappeler la formule magique qui permet de contrôler en PHP (pas en javascript) qu'un champ texte ne contient que des lettres et chiffres ?
merci d'avance
C'est surement dans la FAQ
Mais je n'ais pas su trouver ...
Pouvez vous me rappeler la formule magique qui permet de contrôler en PHP (pas en javascript) qu'un champ texte ne contient que des lettres et chiffres ?
merci d'avance
salut
je pense que le mieux est d'utiliser une expression régulière.
genre :
je n'ai pas testé la fonction mais ça ne doit pas être loin de ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function est_alphanum($chaine) { if(ereg("[0-9A-Za-zéèçàùâêûîôäëÿüïö]*",$chaine)) return true; else return false; } /* est_alphanum() */
gui
Salut, j'aurais utilisé plutôt
si tu ne précises pas ^ et $, il me semble qu'il va y avoir avoir une recherche de motif dans la chaîne et non la chaîne complète
Code : Sélectionner tout - Visualiser dans une fenêtre à part preg_match('#^[[:alnum:]]+$#', $txt)
Ah OUI ça marche 100% j'ais testé dans tout les sens ...Envoyé par Nesmontou
mille mercis à toi et à dauggui
@dauggui : Ta solution est (presque) correcte mais pas optimale. En effet, les fonctions preg_ (PCRE) sont plus efficaces que les fonctions ereg_ (POSIX). De plus, ereg(), au même titre que preg_match(), renvoie une valeur FALSE ou zéro (donc identifiables par l'opérateur "!"), ce qui rend inutile l'imbrication dans une fonction supplémentaire.
@Nesmontou : En effet, il faut ancrer la chaîne avec "^" et "$", sans quoi l'expression nous dirait simplement s'il y a des chiffres et lettres au lieu de nous dire s'il y a uniquement des chiffres et lettres.
Bonjour Kirkis
Comme je l'ais dit ça me résoud tout à fait mon probléme, mais j'avous avoir fait un copier/colé pour mes test !!
Ors ton message me fait découvrir cette subtilitée de l'ancrage ...
peux tu m'en dire plus ou m'orienter sur un lien traitant de cet aspect ?
En tout cas merci de tes précisions
Oh, c'est simple.
L'ancrage au début de la chaîne ("^" juste après le premier délimiteur, ici "#") permet de dire à PHP que l'expression devra trouver son résultat au début de la chaïne ou ne pas le trouver du tout.
Idem avec l'ancrage de fin, à savoir "$" juste avant le second délimiteur.
Il me semble qu'un très bon cours sur les regex est disponible sur php-france.
Mille merci pour cette réponse , je file voir çaEnvoyé par Kirkis
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager