Champs de Formulaire: vérification javascript

Résolu
callahan75 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention   -  
callahan75 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   145
 
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   Statut Membre Dernière intervention   116
 
Je suis dans le même cas que toi
0
callahan75 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   116
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   145
 
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   Statut Membre Dernière intervention  
 
Ok merci à toi, je vais creuser et digérer tout ça !
0