Comment vérifier la syntaxe d'une date ?
http://javascript.developpez.com/faq...Objs#VerifDate

  • Simplification du code en utilisant l'objet Date()


Comment vérifier la syntaxe d'une date ?

La fonction prend en paramètre une chaîne de caractères de la forme jj/mm/aaaa. A partir de là nous créons un objet Date(). Nous comparons ensuite le résultat retourné par l'objet Date() avec celui passé en paramètre de la fonction.

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
function checkDate(d) 
{
 	var strDate;
	var annee, mois, jour;
	var date;
 
	strDate = d.split("/");		//division de la chaine selon le séparateur "/"
 
	// si le tableau strDate ne contient pas 3 éléments alors la date est mal formatée
	if (strDate.length != 3) 	
	{
		alert("La date n'est pas au format JJ/MM/AAAA.");
		return false;
	}
 
	jour = parseInt(strDate[0],10);
	mois = parseInt(strDate[1],10)-1;	// /!\ en javascript les mois vont de 0 (janvier) à 11 (décembre)
	annee = parseInt(strDate[2],10);
 
	date = new Date(annee, mois, jour);		// création de l'objet date
 
	// vérification du jour, mois et année
	if (date.getDate() != jour) 
	{
		alert("Le jour n'est pas correct.");
		return false;
	}	
 
	if (date.getMonth() != mois) 
	{
		alert("Le mois n'est pas correct.");
		return false;
	}		
 
	if (date.getFullYear() != annee) 
	{
		alert("L'année n'est pas correcte.");
		return false;
	}
 
	return true;	// pas d'erreur
 
}

Voir aussi : Comment vérifier si un champ qui contient la date et l'heure au format(aaaa-mm-jj hh:mm:ss) est bien rempli ?