Boite a outils

Contenu du snippet

Différentes petites fonctions
Très utiles

Source / Exemple :


var undef;

function setSafeFocus(item)
{
 if (item.focus && item.type && item.type!= "hidden") 
  item.focus();
}

function controle_jour(jour){
 returnVal = true;
 if(jour<1 || jour>31)
{ returnVal = false; }
 return returnVal }
 
function controle_heure(heure){
 returnVal = true;
 if(heure<0 || heure>23)
{ returnVal = false; }
 return returnVal }

function controle_minute(minute) {
 returnVal = true;
 if(minute<0 || minute>59)
{ returnVal = false; }
 return returnVal }

// coherence d'une heure hhmm
function coherence_heure(item,typ,erreur) {
  chaine = new String(item.value);
  heure = parseInt(chaine.slice(0,2),10);
  minute = parseInt(chaine.slice(2,4),10);
  if (chaine.length==4 && controle_heure(heure) == true && controle_minute(minute) == true)
	{returnVal = true}
  else { returnVal = false;
     erreur_saisie(typ,erreur); 
     setSafeFocus(item);}
   return returnVal }

// controle d'une date jjmmaaaa
function controle_date(item) {
  returnVal=false; chaine = new String(item); siecle = parseInt(chaine.slice(4,6));
  siecle = parseInt(siecle) + parseInt( 4 + 4 * ( Math.floor((19 - siecle)/4)) );
  date_in = new Date(); annee = parseInt (100 * siecle) + parseInt(chaine.slice(6,8));
  date_in.setFullYear(annee,(chaine.slice(2,4)-1),chaine.slice(0,2));
  if ( ( date_in.getDate() == chaine.slice(0,2) ) &
       ( date_in.getMonth() == (chaine.slice(2,4)-1) ) &
       ( (date_in.getYear() % 100) == chaine.slice(6,8) ) &
       (chaine.search(/[^0-9]/) == -1 ) & ( chaine.split('').length == 8 ) ) { returnVal=true;}
  return returnVal }

// coherence d'une date jjmmaaaa
function coherence_date8(item,typ,erreur) {
  var chaine = new String(item.value);
  if (controle_date(chaine) == true) {returnVal = true}
  else { returnVal = false;
     erreur_saisie(typ,erreur); 
     setSafeFocus(item);}
   return returnVal }

// coherence d'une date mmaaaa
function coherence_date6(item,typ,erreur) {
  var chaine = new String("01" + item.value);
  if (controle_date(chaine) == true) {returnVal = true}
  else { returnVal = false;
      erreur_saisie(typ,erreur);  
      setSafeFocus(item);}
  return returnVal }

// coherence d'une date jjmm
function coherence_date4bis(item,typ,erreur) {
  var chaine = new String(item.value+"2000");
  if (controle_date(chaine) == true) {returnVal = true}
  else { returnVal = false;
      erreur_saisie(typ,erreur);  
      setSafeFocus(item);}
  return returnVal }
  
// coherence d'une date aaaa
function coherence_date4(item,typ,erreur) {
  var chaine = new String("01" + "01" + item.value);
  if (controle_date(chaine) == true) {returnVal = true}
  else { returnVal = false;
      erreur_saisie(typ,erreur);  
      setSafeFocus(item);}
  return returnVal }

// teste si date1 (item1) < datejour
// avec dates au format jjmmaaaa
function verif_date_jour(item1) {
	returnval = true;

	chaine1=new String(item1.value);
	annee1 = parseInt(chaine1.slice(4,8),10);
	mois1  = parseInt(chaine1.slice(2,4),10);
	jour1  = parseInt(chaine1.slice(0,2),10);
	today = new Date();
	annee2 = parseInt(today.getFullYear());
	mois2  = parseInt(today.getMonth() + 1 );
	jour2  = parseInt(today.getDate());	
   	if (annee1 > annee2) {returnval = false}
   	else {
   		if (annee1 < annee2) {returnval = true}
   		else {
			// annee1 == annee2
   			if (mois1>mois2) {returnval = false }
   			else {
   				if ((mois1<mois2)) {returnval = true }
   				else {
					//mois1==mois2
   					if (jour1>=jour2) {returnval = false }
   					else { returnval = true }															
				}
			}
		}
	}
return returnval
}
	
// test longueur chaine : min < chaine < max
function test_longueur(item,min,max,texte,typ) {
   var returnVal = true; var chaine = new String(item.value);
   if ( (chaine.split('').length > max) ||
        ( chaine.split('').length < min && min != 0 ) )  {
           returnVal = false;
           if ( typ != 'X' && affiche_erreur == 'OUI' ) {alert(texte);setSafeFocus(item); }}
   return returnVal }

// verif chaine non vide
function non_vide(item,typ,erreur) {
   var chaine = new String(item.value);
   var returnVal = true;
   if (chaine =='') { returnVal = false;
        erreur_saisie(typ,erreur);
        setSafeFocus(item); }
   return returnVal }

// verif numerique positif ou nul
function numerique(item,typ,erreur) {
   var returnVal = true ;
   valeur =  new String(item.value);
   if (isNaN(valeur) || valeur < '0' ) { returnVal = false;
   if ( typ != 'X' ) { erreur_saisie(typ,erreur); setSafeFocus(item); }}
   return returnVal }

function numeric_non_vide(item,typ,erreur) {
   var returnVal = true ;
   valeur =  new String(item.value);
   if ( (isNaN(valeur) || valeur < '0') &&  (valeur !='') ) { returnVal = false;
       erreur_saisie(typ,erreur); setSafeFocus(item); }
   return returnVal }

// verif chaine contenant a->z ou A->Z 
function alphabetique(item,typ,erreur) {
   var returnVal = true ;
   chaine =  new String(item.value);
   if ( chaine.search(/[a-zA-Z]/) == -1 ) { returnVal = false;
      erreur_saisie(typ,erreur) ;setSafeFocus(item); }
         return returnVal }

// verif : @ dans chaine
function adressemail(item,typ,erreur) {
   var returnVal = true ;
   chaine =  new String(item.value); decoupe=chaine.split('@');
   if ( decoupe[1] == undef || decoupe[2] != undef ) { returnVal = false;
        erreur_saisie(typ,erreur);setSafeFocus(item); }
   return returnVal }

// verif chaine contenant a->z ou A->Z et 0->9
function alphanumeric(item,typ,erreur) {
   var returnVal = true ;
   chaine =  new String(item.value);   
   if ((( chaine.search(/[a-z]/) != -1) || ( chaine.search(/[A-Z]/) != -1)) && (chaine.search(/[0-9]/) != -1)) { returnVal = true}
   else { returnVal = false; erreur_saisie(typ,erreur);setSafeFocus(item); }
         return returnVal }
         
//verif si cp a le forme d'un code postal
function isCP(cp)
{
	return cp.length== 5 && ! isNaN(cp);
}

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.

Du même auteur (titi5959)