Bonjour à tous
je rencontre un problème dans la vérification d'un champ date au sein de mon formulaire. Le format que j'utilise est le traditionnel DD/MM/AAAA.
Voici le code. En fait, cette fonction marche pour tous les mois sauf le mois de décembre. A savoir que si je rentre 12/12/2005, la fonction ressortira avec la valeur 0. Je pense que j'ai fait un mauvais truc au niveau des indices au niveau des mois mais je ne vois pas comment solver le problème
Merci par avance à tout ceux qui pourront m'aider !
Slyv
Code : 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 function date(champ) { if(!champ=="") { var annee; var resultat; re = /^(\d?\d?)(\/)(\d?\d?)(\/)(\d\d\d\d)?$/; var tab=champ.match(re); if(!tab) { return 0; } var CoherenceDate=new Date(tab[5], tab[3]-1,tab[1]); resultat=((CoherenceDate.getFullYear()==tab[5])&&(CoherenceDate.getMonth()==tab[3]-1)&&(CoherenceDate.getDate()==tab[1])); if(!resultat) { return 0; } AnneeSaisie=CoherenceDate.getFullYear(); MoisSaisie=CoherenceDate.getMonth(); JourSaisie=CoherenceDate.getDate(); var DateCourante=new Date(); var AnneeCourante=DateCourante.getFullYear(); var MoisCourant=DateCourante.getMonth()+1; var JourCourant=DateCourante.getDate(); if((AnneeSaisie<1900 || AnneeSaisie>AnneeCourante)||((AnneeSaisie==AnneeCourante)&&(MoisSaisie>=MoisCourant)&&(JourSaisie>JourCourant))) { return 0; } return 1; } return 2; }
Partager