Les formulaires (partie 2) : Comment vérifier la syntaxe d'une date ?
Comment vérifier la syntaxe d'une date ?
:arrow: http://javascript.developpez.com/faq...Objs#VerifDate
- Simplification du code en utilisant l'objet Date()
Citation:
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:
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 ?