Petit script mais efficace pour valider les dates

Contenu du snippet

ce code permet de valider une date si elle est conforme au calendrier, elle retourne un booléen, exemple si on met 31/04/2007 elle retourne false car le moi d'avril de l'année 2007 fait 30jours seulement

Source / Exemple :


function isValidDate(d) {
		var dateRegEx = /^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/;
		return d.match(dateRegEx);
	}

Conclusion :


exemple : vous faite une fonction pour le controle d'un champ de date dans un formulaire du genre :

function controle(f) {
if(f.date_event.value == "" || !isValidDate(f.date_event.value))
alert("Inserer une date valide pour l'evenement.");
else
return true;
return false;
}

puis l'appeler dans le formulaire :
<form name="formulaire" method="post" action="page.php" onSubmit="return controle(this)">

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.