Webdesigneuse Posté 20 Décembre 2008 Posté 20 Décembre 2008 Bonjour à tous, Je travaille sur un formulaire de contact qui me pose un soucis de vérification au niveau du téléphone. J'ai trouvé un script génial sur le site Pompage avec plein d'explications, mais ce script semble ne pas avoir prévu de vérification pour le numéro de téléphone, du coup on peut mettre une suite de lettres sans être repéré comme erreur... Voici la partie du code qui concerne la vérification des champs du formulaire : // vérifie que le champs requis est présentvar f=document.getElementById(reqfields[i]);if(!f){continue;}// teste si le champ requis est erroné,// en fonction de son typeswitch(f.type.toLowerCase()){case 'text':if(f.value=='' && f.id!='email'){cf_adderr(f)}// email est un champ spécial nécessitant une vérificationif(f.id=='email' && !cf_isEmailAddr(f.value)){cf_adderr(f)}break;case 'textarea':if(f.value==''){cf_adderr(f)}break; Pour plus d'info, le site en cours de dev est visible ici : http://www.epicerie-st-georges.com/test/index.php Merci pour votre aide car mes connaissances en prog sont limitées... même si je m'améliore
captain_torche Posté 20 Décembre 2008 Posté 20 Décembre 2008 C'est vraiment essentiel pour toi d'avoir le numéro de téléphone ? Si ce n'est pas vraiment vital, laisse le contrôle tel quel. Dans le cas contraire, il faudra passer par des expressions régulières, qui peuvent être plus ou moins contraignantes : elles doivent prendre en compte les différentes manières de saisir un numéro de téléphone, sans frustrer l'utilisateur parce qu'il aura saisi un numéro correct mais non prévu : 01 02 03 04 0501.02.03.04.05 01-02-03-04-05 0102030405 +331 02 03 04 05 +33 (1) 02 03 04 05 etc De toutes façons, il faudra également prévoir un contrôle côté serveur après coup (PHP, ASP, ou autre en fonction de ton serveur), afin que tout fonctionne même pour ceux ayant désactivé le JavaScript.
Webdesigneuse Posté 20 Décembre 2008 Auteur Posté 20 Décembre 2008 Hello Captain Je me suis aussi posé la question, mais tant qu'il n'a pas l'outil Internet dans sa boutique, je pensais l'info essentielle pour mon client... l'utilisation du téléphone est aussi plus aisé pour lui. C'est également lié à l'organisation de son activité, qui a besoin de réponses rapides. C'est quoi "des expressions régulières" ?? je cherche... Sinon, j'ai prévu une limite de caractères dans le champs qui correspond à un numéro de tel brut de 10 chiffres, sans espaces ou tirets. La clientèle étant locale, nul besoin du +33... Par contre... mince ! y'a bcp de gens qui interdisent l'execution des scripts JS ? Si oui, je vais devoir prévoir un script en PHP... sinon, c'est possible de faire en php ce que j'ai fais en JS ? autant prendre des raccourcis
captain_torche Posté 21 Décembre 2008 Posté 21 Décembre 2008 Une expression régulière est une manière de formater une portion de texte. C'est, par exemple, un code qui va vérifier qu'une adresse e-mail est dans un format correct, ou qu'un login ne comprend que des caractères alphanumériques. Dans ton cas, je ne pense pas que ce soit essentiel de complexifier ton code ainsi : contente toi de vérifier que le champ "Téléphone" est rempli. Pour ce qui est du nombre de personnes ayant désactivé JS, ce n'est pas le plus important : il vaut mieux partir du principe que le JS n'est pas un système de contrôle fiable, et toujours utiliser un contrôle côté serveur. Il peut toutefois être doublé par un contrôle en JavaScript, pour plus de convivialité, mais ce dernier n'est pas essentiel.
Webdesigneuse Posté 21 Décembre 2008 Auteur Posté 21 Décembre 2008 (modifié) Merci pour cette leçon Captain... Ok pour le l'utilisation du JS, je considère dès lors que c'est plus pour le fun que pour la fiabilité et je doublerai donc systématiquement avec un script PHP... à ce propos en as tu un sous le coude (url) à me conseiller ? Je cherche aussi de mon côté... En outre, j'ai d'autres soucis plus urgents liés au fonctionnement d'IE... le site bug à plusieurs niveaux sur l'affichage des div... pfff Encore merci pour tes conseils Modifié 21 Décembre 2008 par Webdesigneuse
iNCiTE Web Posté 22 Décembre 2008 Posté 22 Décembre 2008 J'utilise cette fonction pour les numéros en France : function testTelephone(numero) { var masque = /^(0|\+33\s?)[1|2|3|4|5|6|8|9]([\s\.\/\-]?\d{2}){4}$/; return masque.test(numero); }; On peut mettre le +33 ou non, des numéros qui commencent de 01 à 09 (mais pas 07), un séparateur espace, point, slash ou rien... Mais comme plus haut, si pas de Javascript, pas de contrôle ! on peut faire la même chose dans une fonction PHP qui fera le contrôle sur le script de validation.
Webdesigneuse Posté 23 Décembre 2008 Auteur Posté 23 Décembre 2008 Yesss ! voilà qui va m'être utile ! merci bcp Incite ! De plus, j'ai cherché sur d'anciens sites que j'ai réalisé et j'ai trouvé un script version PHP qui fonctionne bien. Je l'ai donc ajouté et je vais y glisser ta vérification en version php Rahh !! j'ai une mémoire courte sur ce que je développe ! je devrais dev plus souvent en fait... et j'ai cruellement besoin de vacances en plus !!! Joyeuses fêtes à tous !!!
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant