Bonjour
Je cherche le moyen le meilleur pour vérifier un champ de saisie dans un formulaire.
L’utilisateur peut saisir dans ce champ 9 mots différents, que je connais naturellement ; par ex. : bureautique, accessoire, ….
Chacun de ces mots peut apparaître seul ou bien comporter un suffixe, par ex. : 01, 02, 07, … jusqu’à 99.
Ce qui peut faire, par ex. : bureautique01, accessoire, bureautique, accessoire06, …
Comme le suffixe n’apparait pas toujours, je ne peux pas supprimer systématiquement les deux derniers caractères pour rechercher ensuite dans la liste des 9 noms.
Faut-il d’abord rechercher 01, 02, 03 (avec array_search() ?), … et le supprimer s’il existe, pour vérifier ensuite avec la liste des 9 noms ?
A l’inverse, je ne peux pas faire un array_search() avec le mot saisi car il peut avoir, ou ne pas avoir, de suffixe.
Merci par avance de vos conseils.
Francois
Page 1 sur 1
Vérifier une saisie
#2
Posté 18 novembre 2011 - 19:31
Tu peux faire un regex sur les deux derniers caractères pour vérifier si c'est un nombre ou pas.
Sinon, personnellement, pour simplifier le problème, j'aurais fait deux champs select. Le premier liste les neufs mots et le deuxième liste les nombres de 00-99.
Sinon, personnellement, pour simplifier le problème, j'aurais fait deux champs select. Le premier liste les neufs mots et le deuxième liste les nombres de 00-99.
Andersen Lau - Me retrouver sur Twitter
Pour les jeunes qui n'ont pas encore réussi le permis de conduire, faites une petite accélération (prioritairement en voiture!) sur Le-Permis.ch. A fond les pédales!
Pour les jeunes qui n'ont pas encore réussi le permis de conduire, faites une petite accélération (prioritairement en voiture!) sur Le-Permis.ch. A fond les pédales!
#3
Posté 18 novembre 2011 - 21:27
Merci de ta réponse.
Comme je débarque complètement dans ce sujet, j'essaie de tester la numéricité du champ $page avec:
sans succès.
Une fois que je saurai s'il y a du numérique dans la valeur de la variable, je pourrai supprimer les deux derniers caractères et valider le reste avec les 9 mots valides.
A ton avis?
Francois
Comme je débarque complètement dans ce sujet, j'essaie de tester la numéricité du champ $page avec:
if(preg_match('`^[[:digit:]]{1,2}$`',$page)) $res="numerique"; else $res="pas numérique";
sans succès.
Une fois que je saurai s'il y a du numérique dans la valeur de la variable, je pourrai supprimer les deux derniers caractères et valider le reste avec les 9 mots valides.
A ton avis?
Francois
Ce message a été modifié par francoisch - 18 novembre 2011 - 21:43.
#4
Posté 18 novembre 2011 - 21:54
Salut,
teste quelque chose comme :
Edit:
Plus simple encore, suis allé trop vite avant
teste quelque chose comme :
if(preg_match('#[a-z]+[0-9]{2,2}#i',$page)) $res="numerique"; else $res="pas numérique";
Edit:
Plus simple encore, suis allé trop vite avant
if(preg_match('#[0-9]{2}$#',$page)) $res="numerique"; else $res="pas numérique";
Ce message a été modifié par yuston - 18 novembre 2011 - 21:58.
Andersen Lau - Me retrouver sur Twitter
Pour les jeunes qui n'ont pas encore réussi le permis de conduire, faites une petite accélération (prioritairement en voiture!) sur Le-Permis.ch. A fond les pédales!
Pour les jeunes qui n'ont pas encore réussi le permis de conduire, faites une petite accélération (prioritairement en voiture!) sur Le-Permis.ch. A fond les pédales!
#5
Posté 18 novembre 2011 - 22:39
Tu peux aussi faire une expression régulière qui cible tout , même si c'est un peu laborieux :
Mais effectivement, le plus simple seraient deux champs select. Comme ça, pas de risque de faute de frappe.
$reg = '#^(bureautique|accessoire||tes|autres|mots)[0-9]{,2}$#';
Mais effectivement, le plus simple seraient deux champs select. Comme ça, pas de risque de faute de frappe.
#6
Posté 19 novembre 2011 - 01:41
C'est clair que je ne comprends pas bien la logique (un select et soit un autre select soit un champ texte séparé sembleraient en effet nettement plus appropriés), mais s'il faut vraiment tester ça, une regex du genre '/^(mot1|mot2|mot3|etc)(\d{0,2})$/' permettra de valider tout ça ET de récupérer dans $matches[1] et [2] le mot et le nombre.
Jacques.
Jacques.
- ← Modification d'un moteur de recherche + gestion formulaire
- PHP
- PHP Objet : avantages et inconvénients →
Partager ce sujet :
Page 1 sur 1



Haut











