Bonjour, j'aimerais un éclaircissement sur les regex
J'utilise ce code
 preg_match('#[a-zA-Z0-9--éèàù]{3,12}#', $_POST['pseudo'])

Ce code est censé ne laissé passer que les caractère alphanumériques et les caractère accentués (que j'ai rajouté) Smiley hum
Quand je rentre des pseudos tel que exemple :
<test> , {test}, ~test~, "test", etc... , et ben ça passe, alors que normalement ça ne devrait pas ?
Pourriez-vous m'apporter votre lumière Smiley lol
Modifié par ricem (18 Mar 2018 - 16:54)
Salut !

Voilà l'expression que tu cherches :
preg_match("#^[a-zA-Z0-9éèàù]{3,12}$#", $_POST['pseudo'])


La fonction preg_match retourne true à partir du moment où elle trouve le pattern dans la chaîne de caractère que tu lui donne. Si tu veux que ça corresponde exactement, il faut que tu ajoute les caractères ^ et $ pour indiquer que cela doit commencer et terminer par cette expression.

J'ai pas compris les doubles tirets, si tu souhaites autoriser ce caractère suffit de l'ajouter à la fin, une seule fois.
Meilleure solution
Merci Anymah,

Oui, le double tiret pour accepté les "jean-jean" Smiley murf
Modifié par ricem (19 Mar 2018 - 09:56)