Warning: preg_match() [function.preg-match]: Pas de fin séparateur '/' n'a été trouvé
lorsque cette fonction a été appelée, il a donné le message
Warning: preg_match() [function.preg-match]: Pas de fin séparateur '/'
c'est la fonction pour vérifier la saisie alphanumérique
function CheckAlphanumeric($element,$minlength,$maxlength)
{ if (!preg_match ("/[^A-Za-z\sfunction CheckAlphanumeric($element,$minlength,$maxlength)
{ if (!preg_match ("/[^A-Za-z\s\0-9 - @ .]//", $element) && strlen($element)>=$minlength && strlen($element) <=$maxlength) { return TRUE; }
else { return FALSE;}
}
-9 - @ .]//", $element) && strlen($element)>=$minlength && strlen($element) <=$maxlength) { return TRUE; }
else { return FALSE;}
}
Quels sont vos entrées sur cet avertissement?
- Avez-vous essayez de supprimer un des deux de clôture
/
personnages? - Je l'ai fait et j'ai toujours le message d'Avertissement
Vous devez vous connecter pour publier un commentaire.
Vous aurez envie de s'échapper de la dernière barre oblique (ou de la supprimer, vous ne savez pas si elle devrait être dans cette regex?). Aussi, vous avez une barre oblique inverse avant de le 0 qui n'a pas vraiment de sens.
ou
ou
Aussi, saviez-vous vous pouvez utiliser un
[:alnum:]
raccourci? (src), Espérons-le montage final:
Je vous suggère de prendre un coup d'oeil à votre fonction, en premier lieu, trop, c'est un peu déroutant. Vous voulez vérifier à l'encontre de trois conditions, 1), il fait passer des regex, 2) est-il gte min longueur, et 3) est-ce lte de la longueur max. Depuis ces trois revenir booléens (ou des choses que d'évaluer correctement comme des booléens), vous pouvez simplifier la fonction comme suit:
~[^A-Za-z\s\0-9 - @ .]/~
.Eh bien, c'est une drôle de message d'erreur pour ce que vous avez là, mais vous avez deux
/
à la fin de votre regex. Vous devez avoir un seul:"/[^A-Za-z\s\0-9 - @ .]/"
Si vous voulez correspondre à un littéral/
lorsque vous l'utilisez comme délimiteur, vous avez besoin de l'échapper avec\
.