Bonjour,
J'ai une fonction de controle de date qui ne fonctionne pas correctement,
pour le '29/12/2007' elle me repond true, mais pour le '30/12/2007' elle me répond false, j'y comprend plus rien...
voici le code qui bug :
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
37
38
39
40 function controleDate(elemDate) { var erreurDate = false; if(elemDate.value!="jj/mm/aaaa") { //Découpage de la chaine contenant la date var reg = new RegExp("[/]+", "g"); var tbDate = elemDate.value.split(reg); if(tbDate.length==3) { //- Vérification que la date est correcte if(isNaN(tbDate[0]) || isNaN(tbDate[1]) || isNaN(tbDate[2]) || trim(tbDate[0])=="" || trim(tbDate[1])=="" || trim(tbDate[2])=="") { erreurDate = true; }else{ jour = parseInt(tbDate[0]); mois = parseInt(tbDate[1]); annee = parseInt(tbDate[2]); //Controle du mois if(mois>=1 && mois<=12) { //Nombre de jours du mois nbJoursMois = getNbJoursMois(mois,annee); //Controle sur le jour if(jour>=1 && jour<=nbJoursMois) { //Si la date est correcte on la met au bon format var dtDate = new Date(); dtDate.setDate(jour); dtDate.setMonth(mois-1); dtDate.setYear(annee); elemDate.value = dtDate.getDate()+"/"+(dtDate.getMonth() + 1)+"/"+dtDate.getYear(); }else{ erreurDate = true; } }else{ erreurDate = true; } } }else{ erreurDate = true; } } return elemDate; }
Partager