Bonjour,
Je suis étudiant en informatique et je dois développer un site Web en Php et autres.
Fin bon, je souhaitais tester un champ Nom pour être sûr qu'il possède que des caractères alphabétique. Donc je me suis dis que je pouvais utiliser une Expression Régulière, mais du coup j'ai un petit problème je pense que c'est peu être du à l'encodage mais je suis pas sûr! Car lorsque je rentre un nom avec un accent type 'félicien' il ne match pas, pourtant j'ai essayer plusieurs regex :
'#^[a-zA-Zéèçàê]*$#' ou sans les accents avec l'option u et rien ne marche !
Je précise également que j'ai essayer un
setlocale(LC_CTYPE, 'fr', 'fr_FR', 'fr_FR.ISO8859-1');
sur mon serveur et rien n'y fait d'ailleurs quand je rentre félicien dans le champ il encode le "é" en UTF-8 ! CAD é à la validation du formulaire.
Donc si quelqu 'un a la solution car je m'arrache les cheveux blancs.
Est ce dans le code le voici :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
if ($nomInt <> ""){
if (strlen($nomInt)< 3 || strlen($nomInt)> 50)
{
echo "<label class='erreur'> Désolé mais votre nom doit comporter au minimum 3 caractères et maximum 50 caractères .</label><br>";
$erreur = true;
}elseif (!preg_match('#^[a-zA-Zéèçàê]*$#',$nomInt))
{
echo"<label class='erreur'> Vous ne pouvez utiliser que des caractère \" ALPHABETIQUE \" dans le champ <strong> nom </strong></label><br>";
$erreur = true;
}else{
echo "ok";
}
} |
Partager