Vérifcation de champs(php)
Garth
-
AssassinTourist Messages postés 7838 Statut Contributeur -
AssassinTourist Messages postés 7838 Statut Contributeur -
Bonsoir,
Je cherche à vérifier si le champ 'identifiant' de mon formulaire est valide.
Il doit contenir que des lettres et chiffres et le symbole _(underscore).
Je suit toujours en galère avec les expressions régulière et pour quelqu'un s'y connaissant ça doit pas être si complexe.
J'ai beau avoir cherché sur le www, je ne trouves que la vérification des emails.
Merci
Je cherche à vérifier si le champ 'identifiant' de mon formulaire est valide.
Il doit contenir que des lettres et chiffres et le symbole _(underscore).
Je suit toujours en galère avec les expressions régulière et pour quelqu'un s'y connaissant ça doit pas être si complexe.
J'ai beau avoir cherché sur le www, je ne trouves que la vérification des emails.
Merci
A voir également:
- Vérifcation de champs(php)
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Word mettre à jour tous les champs ✓ - Forum Word
- Word : Mise à jour des champs - Forum Word
- Le nom du champ de tableau croisé dynamique n'est pas valide - Forum Excel
4 réponses
A mon avis tu n'as pas cherché avec les bons mots-clef ;)
Mais voila de quoi t'aiguiller : https://forum.hardware.fr/hfr/Programmation/php-verifier-alphanumerique-sujet_14031_1.htm
Mais ce code utilisant une fonction obsolète si tu utilises php 5.3, tu dois utiliser preg_match à la place.
Il te suffit de modifier légèrement le code pour qu'il prenne en compte l'underscore.
Mais voila de quoi t'aiguiller : https://forum.hardware.fr/hfr/Programmation/php-verifier-alphanumerique-sujet_14031_1.htm
Mais ce code utilisant une fonction obsolète si tu utilises php 5.3, tu dois utiliser preg_match à la place.
Il te suffit de modifier légèrement le code pour qu'il prenne en compte l'underscore.
Merci de ta réponse,
Oui en effet ereg est obsolète à partir de php 5.3, ça m'as bloqué
(ce qui n'est pas le cas du serveur que je veut utiliser et obsolète/depreciated veut pas dire que ça marchera pas; mais bon on sait jamais, je préfères avoir le code au mieux sur ce genre de trucs tout bêtes...)
Bon tant pis pour le mal de crâne du dév qui se la joue vin rouge en fin de journée de codage et toujours devant son php:
Donc avec preg_match
Je vais tester de ce pas, et trinquer à ta santé mimi
edit: j'ai du rater un truc parce que quand
$mavaleur="tr1546#%} éXz.#uc bid_*ule";
J'ai droit à "Glop!"
Oui en effet ereg est obsolète à partir de php 5.3, ça m'as bloqué
(ce qui n'est pas le cas du serveur que je veut utiliser et obsolète/depreciated veut pas dire que ça marchera pas; mais bon on sait jamais, je préfères avoir le code au mieux sur ce genre de trucs tout bêtes...)
Bon tant pis pour le mal de crâne du dév qui se la joue vin rouge en fin de journée de codage et toujours devant son php:
Donc avec preg_match
$mavaleur=$_POST['machin'];
$pattern = '/_a-z0-9/i';
/* Le "i" après le délimiteur du pattern indique que la recherche ne sera pas sensible à la casse*/
if(!preg_match($pattern, $mavaleur)){
echo "Glop!";
}else{
echo "Pas Glop!!!";
};
Je vais tester de ce pas, et trinquer à ta santé mimi
edit: j'ai du rater un truc parce que quand
$mavaleur="tr1546#%} éXz.#uc bid_*ule";
J'ai droit à "Glop!"
Pareil avec les crochets,
Perso je n'ai jamais réussi à utiliser cette fonction correctement ^^
On sera 2 au moins alors...
Bon je ferait ça quand le reste sera terminé, quitte à découper mes chaînes pour tester les caractères 1 par un et vérifier s'ils sont des chiffres ou des lettres uniquement:s.
Perso je n'ai jamais réussi à utiliser cette fonction correctement ^^
On sera 2 au moins alors...
Bon je ferait ça quand le reste sera terminé, quitte à découper mes chaînes pour tester les caractères 1 par un et vérifier s'ils sont des chiffres ou des lettres uniquement:s.
Bonjour,
Essayez de faire petit à petit. Déjà, est-ce que ça marche avec ça :
(donc sans _, et sans s'occuper de la casse pour l'instant)
Essayez de faire petit à petit. Déjà, est-ce que ça marche avec ça :
$pattern = '[a-zA-Z0-9]';
(donc sans _, et sans s'occuper de la casse pour l'instant)
Merci à toi aussi Assassin Tourist,
Avec ceci $pattern = '[a-zA-Z0-9]';
J'ai Glop! uniquement si la valeur testée contient "a-zA-Z0-9"(sans autre caractère intercalé entre, autour ça fonctionnes tant qu'il y a a-zA-Z0-9 sans rien intercalé ), preg_match() vérifie si l'expression existe dans la chaîne testée. Cela ne convient pas pour tester si il n'y a bien que des lettres, chiffres, et pas de caractères spéciaux.
Avec ceci $pattern = '[a-zA-Z0-9]';
J'ai Glop! uniquement si la valeur testée contient "a-zA-Z0-9"(sans autre caractère intercalé entre, autour ça fonctionnes tant qu'il y a a-zA-Z0-9 sans rien intercalé ), preg_match() vérifie si l'expression existe dans la chaîne testée. Cela ne convient pas pour tester si il n'y a bien que des lettres, chiffres, et pas de caractères spéciaux.