j'aurais besoin d'aide pour faire un controle du format date en "aaaa-mm-jj" de deux champs text d'un formulaire.
j'aurais besoin d'aide pour faire un controle du format date en "aaaa-mm-jj" de deux champs text d'un formulaire.
il y a un script de verification de validité de dates dans les contributions ...
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
Moi je le code suivant : sauf que le premier focntionne correctement mais le deuxieme m'indique que ma date de fin est fausse alors que cest le bon format.
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 var reg=new RegExp("^[0-9]{4}[-]{1}[0-9]{2}[-]{1}[0-9]{2}$","g"); var pdated=frm.pdatedeb.value; var pdatef=frm.pdatefin.value; var descr=frm.desc.value; if (!reg.test(pdated)){ alert('veuillez entrer une date de début valide (format aaaa-mm-jj).'); frm.pdatedeb.focus(); return false; } if (!reg.test(pdatef)) { alert('veuillez entrer une date de fin valide (format aaaa-mm-jj).'); frm.pdatefin.focus(); return false; }
tester une date avec une regexp est un non sens !!
il faut passer par les fonctions date de javascript
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
j'ai trouvé ca sur un forum et au départ cela fonctionnait tres bien.
je viens de trouver ca :
je vais essayer.
voilà j'ai gardé ceci et c'est nikel.
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 //test pour date function IsGoodDate(mydate){ var thedate=mydate.split('-'); if((mydate.length!=10)|| (thedate.length!=3)|| (isNaN(parseInt(thedate[0])))|| (isNaN(parseInt(thedate[1])))|| (isNaN(parseInt(thedate[2])))|| (thedate[0].length<4)|| (thedate[1].length<2)|| (thedate[2].length<2)) return false; var an=eval(thedate[0]); var mo=eval(thedate[1]); var jo=eval(thedate[2]); var onedate=new Date(an,mo-1,jo); an=onedate.getYear(); if(an.length<4) an=an+1900; if((onedate.getDate()!=jo)|| (onedate.getMonth()!=mo-1)|| (onedate.getYear()!=an)) return false; return true; }
Comme quoi en cherchant un peu ...![]()
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
Sinon juste pour info, en plus générique il y a ceci
Source http://phpjs.org/functions/checkdate:366
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function checkdate (m, d, y) { return m > 0 && m < 13 && y > 0 && y < 32768 && d > 0 && d <= (new Date(y, m, 0)).getDate(); }
Certes mais ce n'est valable que jusqu'en 32768![]()
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
Partager