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

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

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.