[php] - Help avec fonction ereg() toujour et encore incompréhensible

- Help avec fonction ereg() toujour et encore incompréhensible [php] - PHP - Programmation

Marsh Posté le 14-06-2004 à 23:06:44    

Bonsoir à tous,
 
voila je suis désespéré, cette fichu fonction ereg() est, pour moi, incontrolable.
 
Voici le code:

Code :
  1. //--- VERIFICATION DU PSEUDO -------------------
  2. if(!ereg("^[a-z0-9_]|\\-", $pseudo))
  3.     {
  4.     echo 'Votre pseudo est invalide. Seul les lettres de l\'alphabet (minuscule/majuscule) ainsi que les chiffres, l\'underscore "_" et le tiret "-" sont autorisés<br>
  5.     <a href="#" onClick="history.back()">Retour</a>';
  6.     echo '</td></tr></table></td></tr></table>';
  7.     exit();
  8.     }


 
Je souhaiterais que l'utilisateur puisse avoir accès aux caractères majuscule, minuscule et à "_" et "-".
 
Si je met ^[a-z0-9_]|\\- les caractères spéciaux sont considéré comme une erreur, les majuscules aussi. Et ca je comprend pas pourquoi :'(
 
J'ai également testé: ^[a-zA-Z0-9_]|\\- et là les caractères spéciaux sont acceptés.
 
Dites moi ce qui cloche dans mon code.
J'en peux plus de cette fonction maudite.
Merci énormément de vos aides.

Reply

Marsh Posté le 14-06-2004 à 23:06:44   

Reply

Marsh Posté le 14-06-2004 à 23:12:59    

if (!preg_match('|^[a-zA-Z0-9_-]+$|', $pseudo))  
 
comme ca ?
 
preg utilise moins de ressources ;)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 14-06-2004 à 23:15:45    

Ouai ca marche super bien ca.
 
Merci

Reply

Marsh Posté le 14-06-2004 à 23:24:18    

peux tu essayer ereg("^[-_0-9a-zA-Z]{3,8}$", $chaine, $retour);
Pour inclure le tiret comme valeur possible, il faut le mettre en début de classe
{3,8} c'est pour mini 3 caractères, maxi 8 caractères. Après tu donnes les longueurs que tu veux. Je crois que cela fonctionnera comme cela


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 15-06-2004 à 08:04:07    

T509 a écrit :

peux tu essayer ereg("^[-_0-9a-zA-Z]{3,8}$", $chaine, $retour);
Pour inclure le tiret comme valeur possible, il faut le mettre en début de classe
{3,8} c'est pour mini 3 caractères, maxi 8 caractères. Après tu donnes les longueurs que tu veux. Je crois que cela fonctionnera comme cela


 
Si je veux pas limiter ma chaine, je peux mettre ereg("^[-_0-9a-zA-Z]", $chaine) ?

Reply

Marsh Posté le 15-06-2004 à 09:01:16    

je crois oui.
Tu peux aussi mettre une longuer mini comme avec ^[-_0-9a-zA-Z]{3,}$


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 15-06-2004 à 09:01:42    

ereg("^[-_0-9a-zA-Z]+$", $chaine) ?


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 15-06-2004 à 09:01:43    

tout est expliqué sur www.expreg.com


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 15-06-2004 à 09:02:57    

Ok merci a vous tous. Désolé de vous faire perdre de votre temps pour des bétises.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed