Je souhaite vérifier un caractère illégal à l'aide de l'expression régulière suivante dans PHP. Essentiellement, je ne veux autoriser que les caractères alphanumériques et les traits de soulignement (_). Malheureusement, le code suivant ne semble pas fonctionner correctement. Cela devrait retourner true s'il y a un caractère illégal dans la chaîne $ username. Cependant, il permet toujours n'importe quel caractère dans la chaîne. Une idée de ce qui ne va pas avec l'expression régulière?Vérification de la chaîne pour les caractères non autorisés utilisant l'expression régulière
if (!preg_match("/^[-a-z0-9_]/i", $username))
{
return true;
}
Merci d'avance.
Cette solution est meilleure que celles correspondant à des chaînes entières, car preg_match peut retourner vrai dès qu'il rencontre un caractère non autorisé. Cependant, ce n'est pas grave sur quelque chose d'aussi court qu'un nom d'utilisateur. – Pianosaurus
OTOH, les bonnes habitudes sont de bonnes habitudes. :-) –