Champs de Formulaire: vérification javascript

Résolu/Fermé
callahan75 Messages postés 28 Date d'inscription mercredi 21 novembre 2007 Statut Membre Dernière intervention 1 juillet 2009 - 13 févr. 2008 à 17:38
callahan75 Messages postés 28 Date d'inscription mercredi 21 novembre 2007 Statut Membre Dernière intervention 1 juillet 2009 - 20 févr. 2008 à 17:53
Bonjour à tous,

j'aimerais créer un formulaire avec du javascript "propre" et le plus simple possible... mais je coince pour une vraie vérification des champs (voir mon ex. ci-dessous ) car j'aimerais inclure pour chaque champ de texte une vérif' supplémentaire, efficace, pour éviter un remplissage farfelu par des espaces, chiffres ou autres caractères... Je n'ai pas trouvé la bonne expression régulière ou le bout de code qui s'incluerait convenablement dans le mien...(celui-ci vérifiant en fait que dalle ! hormis l'absence de frappe ) Le problème se posera aussi pour le mail !...Donc si quelqu'un passait par là et pouvait inclure à ce début de script quelques lignes "imparables" cela serait très sympa à vous... Par avance merci.



<script type="text/javascript">

function verif_form1()
{
if (document.getElementById('nom').value=="" ) {
alert ("Veuillez entrer votre nom SVP");
return false;
}

if (document.getElementById('prenom').value=="" ) {
alert ("Veuillez entrer votre prénom SVP");
return false;
}

else {
return true;
}
}

/*/////////////////////////// ETC.... //////////////////////////*/

</script>

9 réponses

Enax Messages postés 203 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 16 mars 2010 145
16 févr. 2008 à 19:01
var numb = '0123456789';
var lwr = 'abcdefghijklmnopqrstuvwxyz';
var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
 
function isValid(parm,val) {
  if (parm == "") return false;
  for (i=0; i<parm.length; i++) {
    if (val.indexOf(parm.charAt(i),0) == -1) return false;
  }
  return true;
}
 
function isNum(parm) {return isValid(parm,numb);}
function isLower(parm) {return isValid(parm,lwr);}
function isUpper(parm) {return isValid(parm,upr);}
function isAlpha(parm) {return isValid(parm,lwr+upr);}
function isAlphanum(parm) {return isValid(parm,lwr+upr+numb);}


Si tu veux qu'un champ ne contienne que des caractères alphabétiques par exemple:
if(isAlpha(document.getElementById('id_champ').value))
4
Lefouerrant Messages postés 567 Date d'inscription mercredi 19 décembre 2007 Statut Membre Dernière intervention 1 octobre 2009 116
13 févr. 2008 à 18:03
Je suis dans le même cas que toi
0
callahan75 Messages postés 28 Date d'inscription mercredi 21 novembre 2007 Statut Membre Dernière intervention 1 juillet 2009
14 févr. 2008 à 19:21
Eh bin si personne ne se manifeste on va pouvoir monter un club ! En fait il faudrait déjà trouver un équivalent du Trim PHP suffisamment clair et éprouvé... Si tu as une piste Lefouerrant n'hésite pas !
0
Lefouerrant Messages postés 567 Date d'inscription mercredi 19 décembre 2007 Statut Membre Dernière intervention 1 octobre 2009 116
16 févr. 2008 à 17:05
Excuses-moi, je n'avait pas lu correctement ton code, document.getElementById('nom').value c'est un champ de formulaire ? Parce que les champs de formulaire se definnisent comme ça : document.form.nom.value
en sachant que form est le nom de ton formulaire (nom, pas id)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
callahan75 Messages postés 28 Date d'inscription mercredi 21 novembre 2007 Statut Membre Dernière intervention 1 juillet 2009
16 févr. 2008 à 17:59
C'est la syntaxe DOM WC3 actuelle il me semble pour sélectionner les éléments. La tienne est tout autant fonctionnelle voire meilleure pour les anciens navigateurs...mais qui utilise encore IE 4 ? Tu peux même "cibler" comme cela: document.forms["NomFormulaire"].elements["NomElement"].focus(); par ex. pour placer le focus.
0
callahan75 Messages postés 28 Date d'inscription mercredi 21 novembre 2007 Statut Membre Dernière intervention 1 juillet 2009
16 févr. 2008 à 22:13
Merci beaucoup Enax. Je vais aller inclure tout cela et repasserai pour te dire si c'est avec succès !
0
callahan75 Messages postés 28 Date d'inscription mercredi 21 novembre 2007 Statut Membre Dernière intervention 1 juillet 2009
19 févr. 2008 à 01:15
Bon à vrai dire je ne me suis servi que du "isAlpha", ne maitrisant pas encore certains mécanismes je préfère y aller à mon rythme !

<script type="text/javascript">

function verif_form1()
{

if (!isAlpha(document.getElementById('nom').value))

{
alert ("Veuillez entrer votre nom SVP");
document.forms[0].elements["nom"].focus();
return false;
}

else {
return true;
}
}

j'aimerais avant tout conserver cette forme là pour vérifier les champs...Ne peut-on pas déclarer une variable au sein de la fonction verif du genre : var ch1= /^[A-Z-]+$/i et l'appliquer à certains champs de textes et l'étoffer bien sûr pour vérifier un mail par ex. ? Sans tout chambouler, où pourrait-on déclarer une variable, expression régulière ou chaine de caractères me permettant de conserver cette structure tout en personnalisant chaque champ? Merci à tous pour vos précieux renseignements...car faut que je m'y mette !
0
Enax Messages postés 203 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 16 mars 2010 145
19 févr. 2008 à 12:27
C'est tout à fait possible d'utiliser une expression régulière.

Après c'est toi qui voit :
- soit tu crées autant d'expression que nécessaire en les appelant chacune leur tour,
- soit tu crées une seule expression que tu redéfinies avant chaque appel.
La déclaration peut se faire où tu veux avant l'appel, mais le code sera plus clair si c'est au début de ta fonction.

Pour le reste, je te renvoies ici :
https://www.commentcamarche.net/contents/585-javascript-l-objet-regexp
0
callahan75 Messages postés 28 Date d'inscription mercredi 21 novembre 2007 Statut Membre Dernière intervention 1 juillet 2009
20 févr. 2008 à 17:53
Ok merci à toi, je vais creuser et digérer tout ça !
0