Regex Login (lettres et chiffres)
Résolu
Lyonnais784
-
lyonnais784 Messages postés 38 Statut Membre -
lyonnais784 Messages postés 38 Statut Membre -
Bonjour, j'ai un petit problème avec un regex. Je voudrais tester si le pseudo entré par l'utilisateur ne contient que des lettres et chiffres et si le pseudo est compris entre 3 et 20 caractère. Voici mon code :
Merci d'avance.
$syntaxe="#^[a-zA-Z0-9]{3.20}$#";
if( filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL) AND preg_match( $syntaxe, $_POST['mail'] ) )
Merci d'avance.
3 réponses
-
Bonsoir,
ta condition ne pourra jamais être vrai.
d'un coté tu testes une adresse mail et ensuite une chaine sans "@" ni "."
il manque également "-" et "_" pour une adresse mail mais inutile d'utiliser une regex si tu utilises filter_var() juste avant.
Pour tester la longeur de la chaine il te suffit d'utiliser strlen(). -
Merci de ta réponse. Effectivement le second n'est pas $_POST['mail'] mais $_POST['psd'].
J'ai séparer les deux if, le mail fonctionne mais le pseudo ne rentre jamais dans la condition même s'il est au bon format. -