Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/11/2007, 19h22   #1
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 190
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 190
Points : 32
Points : 32
Par défaut Restreindre une saisie par une expression régulière

Bonjour,

Je veux m'assurer que les informations entrées par un utilisateur contiennent seulement des lettres A-Z et des chiffres 0-9.

La meilleure facon de le faire je pense c'est de passer par des expressions régulières.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
$chaine="trtrt2323";
 
if (!preg_match("/[^[:alnum:]]/",$chaine)) {
 
echo 'chaine correct'; 
}
 
else {
echo 'chaine incorrect';
 
}
J'ai testé avec tous les autres caractères non alphanumérique et ca m'affiche bien une erreur comme quoi la chaine contient un caractère incorrect, mais certains caratères tel que # et & me causent problème car on dirait qu'ils sont traités comme des caractères alphanumérique ou vide !!!!

Merci
persia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2007, 07h45   #2
Membre du Club
 
Avatar de randimby
 
Inscription : décembre 2003
Messages : 64
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 64
Points : 57
Points : 57
Envoyer un message via MSN à randimby
Code :
1
2
3
4
5
6
if (preg_match("/^[A-Z0-9]*$/i",$chaine)) {
echo 'chaine correct'; 
}
else {
echo 'chaine incorrect';
}
Tu pourrais aussi ajouter àé... dans les accolades.
randimby est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2007, 23h52   #3
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 190
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 190
Points : 32
Points : 32
Citation:
Envoyé par randimby Voir le message
Code :
1
2
3
4
5
6
if (preg_match("/^[A-Z0-9]*$/i",$chaine)) {
echo 'chaine correct'; 
}
else {
echo 'chaine incorrect';
}
Le problème viens de firefox. Il considère le caratère '#' comme une chaine vide !!!!!.

C'est quoi l'histoire du # avec firefox ?, pourquoi il le considère comme une chaine vide ?.

Il n' ya pas de problème au niveau de IE.
persia est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h04.


 
 
 
 
Partenaires

Hébergement Web