par
Cyrano » 05 août 2006, 17:29
Dans ton expression, il y a de toutes façons une erreur, il y a un caractère que tu as oublié d'échapper, corrigé:
<?php
$mdp = trim($mdp,'<\'>|$^¨`\\/~¤"');
Ceci dit, plutôt que de lister les caractères interdits, pourquoi ne pas lister les caractères autorisés avec une expression régulière ? Si par exemple tu n'autorises que les caractères alphaumériques plus les signes -, + et _ : ça donnerait quelque chose comme ceci:
<?php
/* On définit les caractères autorisés */
$masque = "^(a-z0-9-_\+)+$"i;
/* On vérifie si le mot de passe correspond à ce masque */
if(!preg_match($masque, $mdp))
{
// KO : le mot comporte un ou des caractère(s) interdit(s)
}
else
{
// OK : on peut enregistrer
}
?>
Dans ton expression, il y a de toutes façons une erreur, il y a un caractère que tu as oublié d'échapper, corrigé:
[php]<?php
$mdp = trim($mdp,'<\'>|$^¨`\\/~¤"');[/php]
Ceci dit, plutôt que de lister les caractères interdits, pourquoi ne pas lister les caractères autorisés avec une expression régulière ? Si par exemple tu n'autorises que les caractères alphaumériques plus les signes -, + et _ : ça donnerait quelque chose comme ceci:
[php]<?php
/* On définit les caractères autorisés */
$masque = "^(a-z0-9-_\+)+$"i;
/* On vérifie si le mot de passe correspond à ce masque */
if(!preg_match($masque, $mdp))
{
// KO : le mot comporte un ou des caractère(s) interdit(s)
}
else
{
// OK : on peut enregistrer
}
?>[/php]