Vérifier une date

Soyez le premier à donner votre avis sur cette source.

Snippet vu 46 197 fois - Téléchargée 27 fois

Contenu du snippet

Cette fonction va vous permettre de vérifier si une date saisie est valide. La saisie s'effectue sur le format français, en jj/mm/aaaa ou bien jj/mm/aa. Elle prend en compte les années bissextiles.

Source / Exemple :


<script type="text/javascript"><!--
function isDate(d) {
	// Cette fonction permet de vérifier la validité d'une date au format jj/mm/aa ou jj/mm/aaaa
	// Par Romuald
	
	if (d == "") // si la variable est vide on retourne faux
		return false;
	
	e = new RegExp("^[0-9]{1,2}\/[0-9]{1,2}\/([0-9]{2}|[0-9]{4})$");
	
	if (!e.test(d)) // On teste l'expression régulière pour valider la forme de la date
		return false; // Si pas bon, retourne faux

	// On sépare la date en 3 variables pour vérification, parseInt() converti du texte en entier
	j = parseInt(d.split("/")[0], 10); // jour
	m = parseInt(d.split("/")[1], 10); // mois
	a = parseInt(d.split("/")[2], 10); // année

	// Si l'année n'est composée que de 2 chiffres on complète automatiquement
	if (a < 1000) {
		if (a < 89)	a+=2000; // Si a < 89 alors on ajoute 2000 sinon on ajoute 1900
		else a+=1900;
	}

	// Définition du dernier jour de février
	// Année bissextile si annnée divisible par 4 et que ce n'est pas un siècle, ou bien si divisible par 400
	if (a%4 == 0 && a%100 !=0 || a%400 == 0) fev = 29;
	else fev = 28;

	// Nombre de jours pour chaque mois
	nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);

	// Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon retourn faux
	return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] );
}
//-->
</script>

Conclusion :


Voilà, je pense que cette fonction marche sur 99.9 % des navigateurs (comme les schurlumphs anti-bactériens).
Je n'ai pas testé sur Netscape (que je n'ai pas :) par contre.

A voir également

Ajouter un commentaire Commentaires
Messages postés
2
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
21 février 2013

Bonjour à tous comment faire appel à cette fonction dans un "input" ?
Messages postés
1
Date d'inscription
jeudi 15 avril 2010
Statut
Membre
Dernière intervention
15 avril 2010

Bonjour,

Ce code semble correspondre à ce que je cherche, mais comment faire appel à cette fonction dans un "input" ?

Merci pour votre aide ...
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
10
bonjour a tous, voila j'utilise ce script sous Internet Explorer, seulement j'ai l'impression que la fonction isDate bug sous IE car je n'ai aucun problème avec Firefox.
Est-ce que je suis le seul à avoir eu ce problème ?
Messages postés
1
Date d'inscription
jeudi 2 octobre 2003
Statut
Membre
Dernière intervention
21 avril 2005

Bonjour,

Excusez ma naïveté, mais comment fait-on pour appeler ce script ?
Je l'ai mis dans un évènement onclick sur un bouton submit mais il ne fonctionnement pas.
Comment ce script reconnait-il le champs qu'il doit vérifier ?

Merci pour votre aide
Messages postés
25
Date d'inscription
mardi 28 octobre 2003
Statut
Membre
Dernière intervention
4 août 2005

Idem au comment précédent... j'avais pas envie de le faire alors c'est bien pratique de le trouvé tout fait...
Ca c'est ce que j'appelle de l'entre-aide ...
Merci !
Afficher les 11 commentaires

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.