Tester si une date est valide

Contenu du snippet

J'ai cherché une fonction qui fasse pareille mais je n'étais pas satisfait de ce que j'ai trouvé. alors voilà une sortie tout droit de ma tête.

Cette fonction teste si une date est valide.
on peut l'utiliser avant de valider un formulaire.
il faut envoyer 3 paramètres à cette fonction (jours, mois, année)

Source / Exemple :


function date_valide(x,y,z)
{
/*
pour mes dates j'utilise 3 listes réroulantes (on peut utiliser aussi 3inputbox... il faut juste adapter si nécessaire.)
1 pour les jours, 1 pour les mois et 1 pour les années.
x = jours
y = mois
z = année
-------------------------------
Cette fonction envoie "True" si une date est valide
et dans le cas contraire "False".*/

	if ((x <= 31)&&(nbjours_mois(y,z)==31))
	{
	return("True");
	}
	else if ((x <= 29)&&(nbjours_mois(y,z)==29))
	{
	return("True");
	}	
	else if ((x<=28)&&(nbjours_mois(y,z)==28))
	{
	return("True");
	}	
	else if ((x<=30)&&(nbjours_mois(y,z)==30))
	{
	return("True");
	}	
	else
	{
	return("False");
	}
}
function nbjours_mois(mois,annee)
{
/* cette fonction envoie le nombre de jours dans 1 mois.
il prend en compte les années bissextiles.
!!! l'année bissextile n'est pas vraiment juste !!!
il arrive tous les 400 ans si je ne me trompes pas qu'une année
divisible par 4 ne soit pas bissextile.. d'ici là on sera plus là :-))*/
	
	if ((document.forms[0].mois.value==1)||(mois==3)||
		(mois==5)||(mois==7)||
		(mois==8)||(mois==10)||
		(mois==12))
	{
	return(31);
	}
	else if ((mois==4)||(mois==6)||
		(mois==9)||(mois==11))
	{
	return(30);
	}
	else if ((mois==2)&&(annee % 4 ==0))
	{
	return(29);
	}
	else
	{
	return(28);
	}

}

Conclusion :


si vous avez des questions/remarques, n'hésitez pas!!

:-))

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.