Quelques fonctions de vérification de saisie utilisant les expressions régulières

Soyez le premier à donner votre avis sur cette source.

Snippet vu 20 212 fois - Téléchargée 21 fois

Contenu du snippet

Voici un ensemble de fonction de vérification de saisie d'un formulaire utilisant les expressions régulières.
Ces fonctions vérifie la saisie de champs le plus utilisés dans un formulaire.

Source / Exemple :


//Fonction de vérification chaine de cratere sans chiffres
function verif_alphab (champ,saisie)
{
var reg_alphab =  /^[A-Za-z]+$/;
		if (!(reg_alphab.exec(saisie)!=null))
		  {	
			alert("Le champ saisie n'est pas au format valide !");
			champ.focus();
		  }
}
//Fonction de vérification de saisie d'heure
function verif_heure(champform,valeur) 
{
var  ctl = /^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$/;
		if (!(ctl.exec(valeur)!=null))
          {            
			alert("L'heure saisie n'est pas au format valide !");
			champform.focus()
		  }
}
//Fonction de vérification saisie numérique (chiffres)
function verif_numeric (nb_saisie,champnum)
	{
	  var nb=nb_saisie.value;
	  var rfocu=champnum;
		if ((isNaN(nb))) 
		{
			alert("Le nombre saisi n'est pas valide !");
			
			return(false);
		}
		return(true);
	}
	
//Fonction de vérification de saisie d'email au bon format
function verif_mail(email)
    {
	if (email!='')
	  {
		var reg_mail = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/	 
		if (!(reg_mail.exec(email)!=null))
		  {	
			alert("L'adresse email saisie n'est pas au format valide !");
			return(false);
		  }
	  }
	  return(true);
	}

//Fonction de vérification de saisie code postal francais et belge

function verif_cp(cp)
    {
		var reg_cp =  /^[0-9]{5}$/ 
		//code postal francais ^(0[1-9]|[1-9][0-9])[0-9]{3}$
		// code postal belge ^(F-[0-9]{4,5}|B-[0-9]{4})$
		if (!(reg_cp.exec(cp)!=null))
		  {	
			alert("Le code postal saisie n'est pas au format valide !");
			return(false);
		  }
  	  return(true);
	}
//Fonction de vérification de saisie du numéro de téléphone français

function verif_tel(tel)
    {
		if (tel!='')
		{	
			var reg_tel = /^[0-9]{10}$/
			if (!(reg_tel.exec(tel)!=null))
			  {	
				alert("Le numero de tel saisie n'est pas au format valide !");
				return(false);
		  	  }
		}
  	  return(true);
	}		
//fonction utilisant la vérification de la saisie au bon format d'une date et récupération de focus
function verifdate_blur(datesaisie,champdat) {
  var dateaverif=datesaisie.value;
  var rfocu=champdat;
  // rangement de la date dans des variables
  if (dateaverif!="")
  {if (!verifdate(dateaverif)) {
         alert("Attention soit la date n'est pas correcte, soit elle n'est pas au format JJ/MM/AAAA");DonnerFocus(rfocu);return false;
      }
  }
   return true;
}

//fonction vérifiant la saisie au bon format d'une date
function verifdate(d) {
  var dateaverifier=d
  // rangement de la date dans des variables
  if (dateaverifier.substring(0,1)=="0"){
         var j=parseInt(dateaverifier.substring(1,2));
      }
      else {
         var j=parseInt(dateaverifier.substring(0,2));
      }
      if (dateaverifier.substring(3,4)=="0"){
         var m=parseInt(dateaverifier.substring(4,5));
      }
      else {
         var m=parseInt(dateaverifier.substring(3,5));
         }
      var a=parseInt(dateaverifier.substring(6,10));
   //si la longueur est différent de 10 , problème
     if (dateaverifier.length != 10) {
         return false;
   }
   //les caratères / ne sont pas aux endroits attendus
   else {
      if((dateaverifier.charAt(2) != '/') && (dateaverifier.charAt(5) != '/')) {
         return false;
      }
   }
   //l'année n'est pa un chiffre
   if (isNaN(a)) {
      return false;
    }
   //le mois n'est pas un chiffre ou n'est pas compris entre 0 et12
     if ((isNaN(m))||(m<1)||(m>12)) {
      return false;
    }
   //test si il s'agit d'une année bissextile pour accepter le 29/02
   if (((a % 4)==0 && (a % 100)!=0) || (a % 400)==0){
         if ((isNaN(j)) || ((m!=2) && ((j<1)||(j>31))) || ((m==2) && ((j<1)||(j>29)))) {
            return false;
        }
   }
    else {
         if ((isNaN(j)) || ((m!=2) && ((j<1)||(j>31))) || ((m==2) && ((j<1)||(j>28)))){
         return false;
      }
   }
   return true;
}

A voir également

Ajouter un commentaire

Commentaires

cs_lanner
Messages postés
131
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
8 avril 2015

salut est il possible d'avoir un fichier de demonstrations ?
merci
cs_dede55
Messages postés
1
Date d'inscription
lundi 19 juin 2006
Statut
Membre
Dernière intervention
7 décembre 2008

peux tu donner un fichier exemple pour les débutants

merci
cs_bluedemon
Messages postés
41
Date d'inscription
mercredi 21 septembre 2005
Statut
Membre
Dernière intervention
3 novembre 2008

Et bien, j'ai pu reverifier, cela fonctionne sous firefox. Ce que je donne en paramettre pour champ, c'est this.form ou document.form.champ et tout fonctionne.
cs_Mourad_2007
Messages postés
6
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
3 mai 2007

Bonjour je voulais dire par :''ce n'est pas correcte d'écrire champ.focus''
Que votre fonction ne marche pas sur d'autres navigateur par exemple le ??champ.focus?? n'est pas reconnu par Firefox.
cs_bluedemon
Messages postés
41
Date d'inscription
mercredi 21 septembre 2005
Statut
Membre
Dernière intervention
3 novembre 2008

Lors de la validation d'un formulaire, chaque champs doit etre vérifié et averti l'internaute quel champs à une mauvaise saisie. Ces fonctions sont utilisé par n'importe quel champs que tu souhaite. De plus le focus est une fonction correct, je ne vois pas en quoi ca ne le serai pas. Au moins l'internaute a son curseur directement dans le bon champs. Ne pas oublié que l'internaute moins il en fait, plus il saisira des informations.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.