J'aurais besoin de vérifier, en Javascript, la saisie d'une date dans un
formulaire PHP.
Je veux juste vérifier que ma chaine yyyy-mm-dd, dont je peux bien sur
isoler année, mois et jour forme une date correcte.
Je suppose que la question est classique, voire déjà traitée, mais j'ai
regardé sur le net et j'ai trouvé des quantités de scripts, allant de
quelques lignes à plus de 600, sans savoir lequel choisir.
Y-a-t'il une solution, une librairie, qui s'impose plus ou moins?
NB : Je peux éventuellement utiliser JQuery, que je j'utilise déjà dans
une autre partie de mon site.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pascal
Alain BARTHE a écrit :
Bonjour,
Bonjour,
Je veux juste vérifier que ma chaine yyyy-mm-dd, dont je peux bien su r isoler année, mois et jour forme une date correcte.
Sans aller dans des bibliothèques compliquées, mais qui peut-être g èrent davantage de choses, on peut partir de principes simples :
1. Le constructeur Date retourne toujours des dates valides. 2. Pour valider une date saisie, il suffit donc de la comparer à une date construite sur les mêmes composantes.
j'ai fait ça rapido, alors il faut sûrement perfectionner, mais les principes sont là : http://www.copypastecode.com/28846/
Cordialement, Pascal
Alain BARTHE a écrit :
Bonjour,
Bonjour,
Je veux juste vérifier que ma chaine yyyy-mm-dd, dont je peux bien su r
isoler année, mois et jour forme une date correcte.
Sans aller dans des bibliothèques compliquées, mais qui peut-être g èrent
davantage de choses, on peut partir de principes simples :
1. Le constructeur Date retourne toujours des dates valides.
2. Pour valider une date saisie, il suffit donc de la comparer à une
date construite sur les mêmes composantes.
j'ai fait ça rapido, alors il faut sûrement perfectionner, mais les
principes sont là : http://www.copypastecode.com/28846/
Je veux juste vérifier que ma chaine yyyy-mm-dd, dont je peux bien su r isoler année, mois et jour forme une date correcte.
Sans aller dans des bibliothèques compliquées, mais qui peut-être g èrent davantage de choses, on peut partir de principes simples :
1. Le constructeur Date retourne toujours des dates valides. 2. Pour valider une date saisie, il suffit donc de la comparer à une date construite sur les mêmes composantes.
j'ai fait ça rapido, alors il faut sûrement perfectionner, mais les principes sont là : http://www.copypastecode.com/28846/
Cordialement, Pascal
Alain BARTHE
Pascal a écrit :
Alain BARTHE a écrit :
Bonjour,
Bonjour,
Je veux juste vérifier que ma chaine yyyy-mm-dd, dont je peux bien sur isoler année, mois et jour forme une date correcte.
Sans aller dans des bibliothèques compliquées, mais qui peut-être gèrent davantage de choses, on peut partir de principes simples :
1. Le constructeur Date retourne toujours des dates valides. 2. Pour valider une date saisie, il suffit donc de la comparer à une date construite sur les mêmes composantes.
j'ai fait ça rapido, alors il faut sûrement perfectionner, mais les principes sont là : http://www.copypastecode.com/28846/
Cordialement, Pascal
Merci, ça semble effectivement simple et efficace.
Pascal a écrit :
Alain BARTHE a écrit :
Bonjour,
Bonjour,
Je veux juste vérifier que ma chaine yyyy-mm-dd, dont je peux bien sur
isoler année, mois et jour forme une date correcte.
Sans aller dans des bibliothèques compliquées, mais qui peut-être gèrent
davantage de choses, on peut partir de principes simples :
1. Le constructeur Date retourne toujours des dates valides.
2. Pour valider une date saisie, il suffit donc de la comparer à une
date construite sur les mêmes composantes.
j'ai fait ça rapido, alors il faut sûrement perfectionner, mais les
principes sont là : http://www.copypastecode.com/28846/
Cordialement,
Pascal
Merci, ça semble effectivement simple et efficace.
Je veux juste vérifier que ma chaine yyyy-mm-dd, dont je peux bien sur isoler année, mois et jour forme une date correcte.
Sans aller dans des bibliothèques compliquées, mais qui peut-être gèrent davantage de choses, on peut partir de principes simples :
1. Le constructeur Date retourne toujours des dates valides. 2. Pour valider une date saisie, il suffit donc de la comparer à une date construite sur les mêmes composantes.
j'ai fait ça rapido, alors il faut sûrement perfectionner, mais les principes sont là : http://www.copypastecode.com/28846/
Cordialement, Pascal
Merci, ça semble effectivement simple et efficace.
SAM
Le 5/16/10 6:36 PM, Alain BARTHE a écrit :
Bonjour,
J'aurais besoin de vérifier, en Javascript, la saisie d'une date dans un formulaire PHP.
Je veux juste vérifier que ma chaine yyyy-mm-dd, dont je peux bien sur isoler année, mois et jour forme une date correcte.
yyy-mm-dd ou jj-mm-aaaa ?
vérifier quoi ? que ce n'est pas le 30 février ? ou le 31 avril ?
en supposant qu'on a déjà vérifié que le champs contenait le nbre de caractères requis et le bon séparateur et que le début est bien l'année
function dateOk() { var d = document.forms[0]['date'], d1 = d.value.split('-'); if(d1.length == 3) { var d2 = new Date(d1[0], (d1[1]-1), d1[2]), y = d2.getFullYear(), m = d2.getMonth()+1, j = d2.getDate(); if(j<10) j = '0'+j; if(m<10) m = '0'+m; if(d.value != y+'-'+m+'-'+j) alert('date erreur'); } else alert('erreur format date (séparateur: -)'); }
Sinon qque chose qui vérifie le 28 février, le 31 avril, et rentre la date au bon format même si était: 99/2/7 (séparateurs acceptés : / . _ espace - )
function dateOk() { var d = document.forms[0]['date'], d1 = d.value.split(/[./_s-]/); if(d1.length == 3) { var d2 = new Date(d1[0], (d1[1]-1), d1[2]), y = d2.getFullYear(), m = d2.getMonth()+1, j = d2.getDate(); if(m > d1[1]) { alert('il n'y a pas '+d1[2]+' jours au mois '+d1[1]); return; } if(j<10) j = '0'+j; if(m<10) m = '0'+m; d.value = y+'-'+m+'-'+j; } else alert('erreur format date (séparateur: -)'); }
-- sm
Le 5/16/10 6:36 PM, Alain BARTHE a écrit :
Bonjour,
J'aurais besoin de vérifier, en Javascript, la saisie d'une date dans un
formulaire PHP.
Je veux juste vérifier que ma chaine yyyy-mm-dd, dont je peux bien sur
isoler année, mois et jour forme une date correcte.
yyy-mm-dd ou jj-mm-aaaa ?
vérifier quoi ?
que ce n'est pas le 30 février ?
ou le 31 avril ?
en supposant qu'on a déjà vérifié que le champs contenait le nbre de
caractères requis et le bon séparateur et que le début est bien l'année
function dateOk() {
var d = document.forms[0]['date'],
d1 = d.value.split('-');
if(d1.length == 3) {
var d2 = new Date(d1[0], (d1[1]-1), d1[2]),
y = d2.getFullYear(),
m = d2.getMonth()+1,
j = d2.getDate();
if(j<10) j = '0'+j;
if(m<10) m = '0'+m;
if(d.value != y+'-'+m+'-'+j) alert('date erreur');
}
else alert('erreur format date (séparateur: -)');
}
Sinon qque chose qui vérifie le 28 février, le 31 avril,
et rentre la date au bon format même si était: 99/2/7
(séparateurs acceptés : / . _ espace - )
function dateOk() {
var d = document.forms[0]['date'],
d1 = d.value.split(/[./_s-]/);
if(d1.length == 3) {
var d2 = new Date(d1[0], (d1[1]-1), d1[2]),
y = d2.getFullYear(),
m = d2.getMonth()+1,
j = d2.getDate();
if(m > d1[1]) {
alert('il n'y a pas '+d1[2]+' jours au mois '+d1[1]);
return;
}
if(j<10) j = '0'+j;
if(m<10) m = '0'+m;
d.value = y+'-'+m+'-'+j;
}
else alert('erreur format date (séparateur: -)');
}
J'aurais besoin de vérifier, en Javascript, la saisie d'une date dans un formulaire PHP.
Je veux juste vérifier que ma chaine yyyy-mm-dd, dont je peux bien sur isoler année, mois et jour forme une date correcte.
yyy-mm-dd ou jj-mm-aaaa ?
vérifier quoi ? que ce n'est pas le 30 février ? ou le 31 avril ?
en supposant qu'on a déjà vérifié que le champs contenait le nbre de caractères requis et le bon séparateur et que le début est bien l'année
function dateOk() { var d = document.forms[0]['date'], d1 = d.value.split('-'); if(d1.length == 3) { var d2 = new Date(d1[0], (d1[1]-1), d1[2]), y = d2.getFullYear(), m = d2.getMonth()+1, j = d2.getDate(); if(j<10) j = '0'+j; if(m<10) m = '0'+m; if(d.value != y+'-'+m+'-'+j) alert('date erreur'); } else alert('erreur format date (séparateur: -)'); }
Sinon qque chose qui vérifie le 28 février, le 31 avril, et rentre la date au bon format même si était: 99/2/7 (séparateurs acceptés : / . _ espace - )
function dateOk() { var d = document.forms[0]['date'], d1 = d.value.split(/[./_s-]/); if(d1.length == 3) { var d2 = new Date(d1[0], (d1[1]-1), d1[2]), y = d2.getFullYear(), m = d2.getMonth()+1, j = d2.getDate(); if(m > d1[1]) { alert('il n'y a pas '+d1[2]+' jours au mois '+d1[1]); return; } if(j<10) j = '0'+j; if(m<10) m = '0'+m; d.value = y+'-'+m+'-'+j; } else alert('erreur format date (séparateur: -)'); }
-- sm
Dr J R Stockton
En fr.comp.lang.javascript message <4bf03bbe$0$2872$ r>, 16 May 2010 20:38:54, Alain BARTHE a écrit :
Pascal a écrit :
Alain BARTHE a écrit :
Bonjour,
Bonjour,
Je veux juste vérifier que ma chaine yyyy-mm-dd, dont je peux bien sur isoler année, mois et jour forme une date correcte.
Sans aller dans des bibliothèques compliquées, mais qui peut-être gèrent davantage de choses, on peut partir de principes simples : 1. Le constructeur Date retourne toujours des dates valides. 2. Pour valider une date saisie, il suffit donc de la comparer à une date construite sur les mêmes composantes. j'ai fait ça rapido, alors il faut sûrement perfectionner, mais les principes sont là : http://www.copypastecode.com/28846/ Cordialement, Pascal
Merci, ça semble effectivement simple et efficace.
It looks unnecessarily complicated. Match the pattern with a RegExp (ensuring 00<Ý<), use new Date(Y, M', D), and check getMonth().
See in <URL:http://www.merlyn.demon.co.uk/js-date4.htm#DVal>, "String Input" and onwards.
It's a good idea to read the newsgroup c.l.j and its FAQ. See below.
-- (c) John Stockton, nr London UK. ?@merlyn.demon.co.uk IE8 FF3 Op10 Sf4 Cr4 news:comp.lang.javascript FAQ <URL:http://www.jibbering.com/faq/index.html>. <URL:http://www.merlyn.demon.co.uk/js-index.htm> jscr maths, dates, sources. <URL:http://www.merlyn.demon.co.uk/> TP/BP/Delphi/jscr/&c, FAQ items, links.
En fr.comp.lang.javascript message <4bf03bbe$0$2872$426a34cc@news.free.f
r>, 16 May 2010 20:38:54, Alain BARTHE <alain.barthe.65@free.fr> a
écrit :
Pascal a écrit :
Alain BARTHE a écrit :
Bonjour,
Bonjour,
Je veux juste vérifier que ma chaine yyyy-mm-dd, dont je peux bien
sur isoler année, mois et jour forme une date correcte.
Sans aller dans des bibliothèques compliquées, mais qui peut-être
gèrent davantage de choses, on peut partir de principes simples :
1. Le constructeur Date retourne toujours des dates valides.
2. Pour valider une date saisie, il suffit donc de la comparer à une
date construite sur les mêmes composantes.
j'ai fait ça rapido, alors il faut sûrement perfectionner, mais les
principes sont là : http://www.copypastecode.com/28846/
Cordialement,
Pascal
Merci, ça semble effectivement simple et efficace.
It looks unnecessarily complicated. Match the pattern with a RegExp
(ensuring 00<Ý<), use new Date(Y, M', D), and check getMonth().
See in <URL:http://www.merlyn.demon.co.uk/js-date4.htm#DVal>,
"String Input" and onwards.
It's a good idea to read the newsgroup c.l.j and its FAQ. See below.
--
(c) John Stockton, nr London UK. ?@merlyn.demon.co.uk IE8 FF3 Op10 Sf4 Cr4
news:comp.lang.javascript FAQ <URL:http://www.jibbering.com/faq/index.html>.
<URL:http://www.merlyn.demon.co.uk/js-index.htm> jscr maths, dates, sources.
<URL:http://www.merlyn.demon.co.uk/> TP/BP/Delphi/jscr/&c, FAQ items, links.
En fr.comp.lang.javascript message <4bf03bbe$0$2872$ r>, 16 May 2010 20:38:54, Alain BARTHE a écrit :
Pascal a écrit :
Alain BARTHE a écrit :
Bonjour,
Bonjour,
Je veux juste vérifier que ma chaine yyyy-mm-dd, dont je peux bien sur isoler année, mois et jour forme une date correcte.
Sans aller dans des bibliothèques compliquées, mais qui peut-être gèrent davantage de choses, on peut partir de principes simples : 1. Le constructeur Date retourne toujours des dates valides. 2. Pour valider une date saisie, il suffit donc de la comparer à une date construite sur les mêmes composantes. j'ai fait ça rapido, alors il faut sûrement perfectionner, mais les principes sont là : http://www.copypastecode.com/28846/ Cordialement, Pascal
Merci, ça semble effectivement simple et efficace.
It looks unnecessarily complicated. Match the pattern with a RegExp (ensuring 00<Ý<), use new Date(Y, M', D), and check getMonth().
See in <URL:http://www.merlyn.demon.co.uk/js-date4.htm#DVal>, "String Input" and onwards.
It's a good idea to read the newsgroup c.l.j and its FAQ. See below.
-- (c) John Stockton, nr London UK. ?@merlyn.demon.co.uk IE8 FF3 Op10 Sf4 Cr4 news:comp.lang.javascript FAQ <URL:http://www.jibbering.com/faq/index.html>. <URL:http://www.merlyn.demon.co.uk/js-index.htm> jscr maths, dates, sources. <URL:http://www.merlyn.demon.co.uk/> TP/BP/Delphi/jscr/&c, FAQ items, links.
Alain BARTHE
Dr J R Stockton a écrit :
En fr.comp.lang.javascript message <4bf03bbe$0$2872$ r>, 16 May 2010 20:38:54, Alain BARTHE a écrit :
Pascal a écrit :
Alain BARTHE a écrit :
Bonjour,
Bonjour,
Je veux juste vérifier que ma chaine yyyy-mm-dd, dont je peux bien sur isoler année, mois et jour forme une date correcte.
Sans aller dans des bibliothèques compliquées, mais qui peut-être gèrent davantage de choses, on peut partir de principes simples : 1. Le constructeur Date retourne toujours des dates valides. 2. Pour valider une date saisie, il suffit donc de la comparer à une date construite sur les mêmes composantes. j'ai fait ça rapido, alors il faut sûrement perfectionner, mais les principes sont là : http://www.copypastecode.com/28846/ Cordialement, Pascal
Merci, ça semble effectivement simple et efficace.
It looks unnecessarily complicated. Match the pattern with a RegExp (ensuring 00<Ý<), use new Date(Y, M', D), and check getMonth().
See in <URL:http://www.merlyn.demon.co.uk/js-date4.htm#DVal>, "String Input" and onwards.
It's a good idea to read the newsgroup c.l.j and its FAQ. See below.
I made a short try with ISOSDateValue() found in js-date4.htm and it works perfectly.
Many thanks for your help.
Dr J R Stockton a écrit :
En fr.comp.lang.javascript message <4bf03bbe$0$2872$426a34cc@news.free.f
r>, 16 May 2010 20:38:54, Alain BARTHE <alain.barthe.65@free.fr> a
écrit :
Pascal a écrit :
Alain BARTHE a écrit :
Bonjour,
Bonjour,
Je veux juste vérifier que ma chaine yyyy-mm-dd, dont je peux bien
sur isoler année, mois et jour forme une date correcte.
Sans aller dans des bibliothèques compliquées, mais qui peut-être
gèrent davantage de choses, on peut partir de principes simples :
1. Le constructeur Date retourne toujours des dates valides.
2. Pour valider une date saisie, il suffit donc de la comparer à une
date construite sur les mêmes composantes.
j'ai fait ça rapido, alors il faut sûrement perfectionner, mais les
principes sont là : http://www.copypastecode.com/28846/
Cordialement,
Pascal
Merci, ça semble effectivement simple et efficace.
It looks unnecessarily complicated. Match the pattern with a RegExp
(ensuring 00<Ý<), use new Date(Y, M', D), and check getMonth().
See in <URL:http://www.merlyn.demon.co.uk/js-date4.htm#DVal>,
"String Input" and onwards.
It's a good idea to read the newsgroup c.l.j and its FAQ. See below.
I made a short try with ISOSDateValue() found in js-date4.htm
and it works perfectly.
En fr.comp.lang.javascript message <4bf03bbe$0$2872$ r>, 16 May 2010 20:38:54, Alain BARTHE a écrit :
Pascal a écrit :
Alain BARTHE a écrit :
Bonjour,
Bonjour,
Je veux juste vérifier que ma chaine yyyy-mm-dd, dont je peux bien sur isoler année, mois et jour forme une date correcte.
Sans aller dans des bibliothèques compliquées, mais qui peut-être gèrent davantage de choses, on peut partir de principes simples : 1. Le constructeur Date retourne toujours des dates valides. 2. Pour valider une date saisie, il suffit donc de la comparer à une date construite sur les mêmes composantes. j'ai fait ça rapido, alors il faut sûrement perfectionner, mais les principes sont là : http://www.copypastecode.com/28846/ Cordialement, Pascal
Merci, ça semble effectivement simple et efficace.
It looks unnecessarily complicated. Match the pattern with a RegExp (ensuring 00<Ý<), use new Date(Y, M', D), and check getMonth().
See in <URL:http://www.merlyn.demon.co.uk/js-date4.htm#DVal>, "String Input" and onwards.
It's a good idea to read the newsgroup c.l.j and its FAQ. See below.
I made a short try with ISOSDateValue() found in js-date4.htm and it works perfectly.
Many thanks for your help.
Pierre Goiffon
On 16/05/2010 18:36, Alain BARTHE wrote:
J'aurais besoin de vérifier, en Javascript, la saisie d'une date dans un formulaire PHP.
Votre besoin est sans doute répondu par ce qui a été indiqué dans ce fil. Je voulais juste signaler la librairie ici : http://www.javascripttoolbox.com/lib/date/documentation.php Nous l'avons intégrée dans nos produit à mon travail et je conseille vivement !
On 16/05/2010 18:36, Alain BARTHE wrote:
J'aurais besoin de vérifier, en Javascript, la saisie d'une date dans un
formulaire PHP.
Votre besoin est sans doute répondu par ce qui a été indiqué dans ce fil.
Je voulais juste signaler la librairie ici :
http://www.javascripttoolbox.com/lib/date/documentation.php
Nous l'avons intégrée dans nos produit à mon travail et je conseille
vivement !
J'aurais besoin de vérifier, en Javascript, la saisie d'une date dans un formulaire PHP.
Votre besoin est sans doute répondu par ce qui a été indiqué dans ce fil. Je voulais juste signaler la librairie ici : http://www.javascripttoolbox.com/lib/date/documentation.php Nous l'avons intégrée dans nos produit à mon travail et je conseille vivement !
Dr J R Stockton
En fr.comp.lang.javascript message <4bf0b8f8$0$2955$ .orange.fr>, Lun, 17 May 2010 05:33:12, SAM adoo.fr.invalid> a écrit:
en supposant qu'on a déjà vérifié que le champs contenait le nbre de caractères requis et le bon séparateur et que le début est bien l'année
function dateOk() { var d = document.forms[0]['date'], d1 = d.value.split('-'); if(d1.length == 3) { var d2 = new Date(d1[0], (d1[1]-1), d1[2]), y = d2.getFullYear(), m = d2.getMonth()+1, j = d2.getDate(); if(j<10) j = '0'+j; if(m<10) m = '0'+m; if(d.value != y+'-'+m+'-'+j) alert('date erreur'); } else alert('erreur format date (séparateur: -)'); }
function dateOk() { var d = document.forms[0]['date'], d1 = d.value.split('-'); // meilleure avec une RegExp if(d1.length == 3) { var d2 = new Date(d1[0], (d1[1]-1), d1[2]), // y = d2.getFullYear(), m = d2.getMonth()+1 // , // j = d2.getDate(); // if(j<10) j = '0'+j; // if(m<10) m = '0'+m; // if(d.value != y+'-'+m+'-'+j) /* + */ if (d1[1] != m) alert('date erreur'); // qu'il reste } else alert('erreur format date (séparateur: -)'); }
-- (c) John Stockton, nr London, UK. ?@merlyn.demon.co.uk Turnpike v6.05. Web <URL:http://www.merlyn.demon.co.uk/> - w. FAQish topics, links, acronyms PAS EXE etc : <URL:http://www.merlyn.demon.co.uk/programs/> - see 00index.htm Dates - miscdate.htm estrdate.htm js-dates.htm pas-time.htm critdate.htm etc.
En fr.comp.lang.javascript message <4bf0b8f8$0$2955$ba4acef3@reader.news
.orange.fr>, Lun, 17 May 2010 05:33:12, SAM <stephanemoriaux.NoAdmin@wan
adoo.fr.invalid> a écrit:
en supposant qu'on a déjà vérifié que le champs contenait le nbre de
caractères requis et le bon séparateur et que le début est bien l'année
function dateOk() {
var d = document.forms[0]['date'],
d1 = d.value.split('-');
if(d1.length == 3) {
var d2 = new Date(d1[0], (d1[1]-1), d1[2]),
y = d2.getFullYear(),
m = d2.getMonth()+1,
j = d2.getDate();
if(j<10) j = '0'+j;
if(m<10) m = '0'+m;
if(d.value != y+'-'+m+'-'+j) alert('date erreur');
}
else alert('erreur format date (séparateur: -)');
}
function dateOk() {
var d = document.forms[0]['date'],
d1 = d.value.split('-'); // meilleure avec une RegExp
if(d1.length == 3) {
var d2 = new Date(d1[0], (d1[1]-1), d1[2]),
// y = d2.getFullYear(),
m = d2.getMonth()+1 // ,
// j = d2.getDate();
// if(j<10) j = '0'+j;
// if(m<10) m = '0'+m;
// if(d.value != y+'-'+m+'-'+j)
/* + */ if (d1[1] != m)
alert('date erreur'); // qu'il reste
}
else alert('erreur format date (séparateur: -)');
}
--
(c) John Stockton, nr London, UK. ?@merlyn.demon.co.uk Turnpike v6.05.
Web <URL:http://www.merlyn.demon.co.uk/> - w. FAQish topics, links, acronyms
PAS EXE etc : <URL:http://www.merlyn.demon.co.uk/programs/> - see 00index.htm
Dates - miscdate.htm estrdate.htm js-dates.htm pas-time.htm critdate.htm etc.
En fr.comp.lang.javascript message <4bf0b8f8$0$2955$ .orange.fr>, Lun, 17 May 2010 05:33:12, SAM adoo.fr.invalid> a écrit:
en supposant qu'on a déjà vérifié que le champs contenait le nbre de caractères requis et le bon séparateur et que le début est bien l'année
function dateOk() { var d = document.forms[0]['date'], d1 = d.value.split('-'); if(d1.length == 3) { var d2 = new Date(d1[0], (d1[1]-1), d1[2]), y = d2.getFullYear(), m = d2.getMonth()+1, j = d2.getDate(); if(j<10) j = '0'+j; if(m<10) m = '0'+m; if(d.value != y+'-'+m+'-'+j) alert('date erreur'); } else alert('erreur format date (séparateur: -)'); }
function dateOk() { var d = document.forms[0]['date'], d1 = d.value.split('-'); // meilleure avec une RegExp if(d1.length == 3) { var d2 = new Date(d1[0], (d1[1]-1), d1[2]), // y = d2.getFullYear(), m = d2.getMonth()+1 // , // j = d2.getDate(); // if(j<10) j = '0'+j; // if(m<10) m = '0'+m; // if(d.value != y+'-'+m+'-'+j) /* + */ if (d1[1] != m) alert('date erreur'); // qu'il reste } else alert('erreur format date (séparateur: -)'); }
-- (c) John Stockton, nr London, UK. ?@merlyn.demon.co.uk Turnpike v6.05. Web <URL:http://www.merlyn.demon.co.uk/> - w. FAQish topics, links, acronyms PAS EXE etc : <URL:http://www.merlyn.demon.co.uk/programs/> - see 00index.htm Dates - miscdate.htm estrdate.htm js-dates.htm pas-time.htm critdate.htm etc.
SAM
Le 5/18/10 7:41 PM, Dr J R Stockton a écrit :
En fr.comp.lang.javascript message <4bf0b8f8$0$2955$ .orange.fr>, Lun, 17 May 2010 05:33:12, SAM adoo.fr.invalid> a écrit:
en supposant qu'on a déjà vérifié que le champs contenait le nbre de caractères requis et le bon séparateur et que le début est bien l'année
(...)
function dateOk() { var d = document.forms[0]['date'], d1 = d.value.split('-'); // meilleure avec une RegExp
absolutly
if(d1.length == 3) { var d2 = new Date(d1[0], (d1[1]-1), d1[2]), // y = d2.getFullYear(), m = d2.getMonth()+1 // , // j = d2.getDate(); // if(j<10) j = '0'+j; // if(m<10) m = '0'+m; // if(d.value != y+'-'+m+'-'+j) /* + */ if (d1[1] != m) alert('date erreur'); // qu'il reste
yes
} else alert('erreur format date (séparateur: -)'); }
Oui il y a pas mal de choses inutiles, cependant les compléments sont là pour permettre d'aller un peu plus loin comme de corriger la date directement dans le champ.
'y' and 'd' above where to allow to go further in this idea, field accepts : 10/5/19 (expecting yet that the date format is not in french) and the function re-enter the date in wanted format, something like that :
function dateOk() { var d = document.forms[0]['date'], d0 = d.value, d1 = d0.split(/[./_s-]/); // a bit of regexp // much better : d0.split(/D+/); if(d1.length == 3) { if(d1[0].length==2) d1[0] = prompt('L'année est bien : 20'+d1[0]+ ' ?nSimon corrigez ci-dessous','20'+d1[0]); var d2 = new Date(d1[0], (d1[1]-1), d1[2]), y = d2.getFullYear(), m = d2.getMonth()+1, j = d2.getDate(), c = ['','janvier','février','mars','avril','mai','juin','juillet', 'aout','septembre','octobre','novembre','décembre']; if(m > d1[1]) { alert('il n'y a pas '+d1[2]+' jours au mois de '+c[d1[1]]); d.focus(); d.select(); return; } if(j<10) j = '0'+j; if(m<10) m = '0'+m; d.value = y+'-'+m+'-'+j; } else alert('erreur format daten( AAAAA-MM-JJ )'); if(d0 != d.value) alert('contrôlez bien votre date !'); }
-- sm
Le 5/18/10 7:41 PM, Dr J R Stockton a écrit :
En fr.comp.lang.javascript message <4bf0b8f8$0$2955$ba4acef3@reader.news
.orange.fr>, Lun, 17 May 2010 05:33:12, SAM <stephanemoriaux.NoAdmin@wan
adoo.fr.invalid> a écrit:
en supposant qu'on a déjà vérifié que le champs contenait le nbre de
caractères requis et le bon séparateur et que le début est bien l'année
(...)
function dateOk() {
var d = document.forms[0]['date'],
d1 = d.value.split('-'); // meilleure avec une RegExp
absolutly
if(d1.length == 3) {
var d2 = new Date(d1[0], (d1[1]-1), d1[2]),
// y = d2.getFullYear(),
m = d2.getMonth()+1 // ,
// j = d2.getDate();
// if(j<10) j = '0'+j;
// if(m<10) m = '0'+m;
// if(d.value != y+'-'+m+'-'+j)
/* + */ if (d1[1] != m)
alert('date erreur'); // qu'il reste
yes
}
else alert('erreur format date (séparateur: -)');
}
Oui il y a pas mal de choses inutiles,
cependant les compléments sont là pour permettre d'aller un peu plus
loin comme de corriger la date directement dans le champ.
'y' and 'd' above where to allow to go further
in this idea, field accepts : 10/5/19
(expecting yet that the date format is not in french)
and the function re-enter the date in wanted format,
something like that :
function dateOk() {
var d = document.forms[0]['date'],
d0 = d.value,
d1 = d0.split(/[./_s-]/); // a bit of regexp
// much better : d0.split(/D+/);
if(d1.length == 3) {
if(d1[0].length==2)
d1[0] = prompt('L'année est bien : 20'+d1[0]+
' ?nSimon corrigez ci-dessous','20'+d1[0]);
var d2 = new Date(d1[0], (d1[1]-1), d1[2]),
y = d2.getFullYear(),
m = d2.getMonth()+1,
j = d2.getDate(),
c = ['','janvier','février','mars','avril','mai','juin','juillet',
'aout','septembre','octobre','novembre','décembre'];
if(m > d1[1]) {
alert('il n'y a pas '+d1[2]+' jours au mois de '+c[d1[1]]);
d.focus(); d.select();
return;
}
if(j<10) j = '0'+j;
if(m<10) m = '0'+m;
d.value = y+'-'+m+'-'+j;
}
else alert('erreur format daten( AAAAA-MM-JJ )');
if(d0 != d.value) alert('contrôlez bien votre date !');
}
En fr.comp.lang.javascript message <4bf0b8f8$0$2955$ .orange.fr>, Lun, 17 May 2010 05:33:12, SAM adoo.fr.invalid> a écrit:
en supposant qu'on a déjà vérifié que le champs contenait le nbre de caractères requis et le bon séparateur et que le début est bien l'année
(...)
function dateOk() { var d = document.forms[0]['date'], d1 = d.value.split('-'); // meilleure avec une RegExp
absolutly
if(d1.length == 3) { var d2 = new Date(d1[0], (d1[1]-1), d1[2]), // y = d2.getFullYear(), m = d2.getMonth()+1 // , // j = d2.getDate(); // if(j<10) j = '0'+j; // if(m<10) m = '0'+m; // if(d.value != y+'-'+m+'-'+j) /* + */ if (d1[1] != m) alert('date erreur'); // qu'il reste
yes
} else alert('erreur format date (séparateur: -)'); }
Oui il y a pas mal de choses inutiles, cependant les compléments sont là pour permettre d'aller un peu plus loin comme de corriger la date directement dans le champ.
'y' and 'd' above where to allow to go further in this idea, field accepts : 10/5/19 (expecting yet that the date format is not in french) and the function re-enter the date in wanted format, something like that :
function dateOk() { var d = document.forms[0]['date'], d0 = d.value, d1 = d0.split(/[./_s-]/); // a bit of regexp // much better : d0.split(/D+/); if(d1.length == 3) { if(d1[0].length==2) d1[0] = prompt('L'année est bien : 20'+d1[0]+ ' ?nSimon corrigez ci-dessous','20'+d1[0]); var d2 = new Date(d1[0], (d1[1]-1), d1[2]), y = d2.getFullYear(), m = d2.getMonth()+1, j = d2.getDate(), c = ['','janvier','février','mars','avril','mai','juin','juillet', 'aout','septembre','octobre','novembre','décembre']; if(m > d1[1]) { alert('il n'y a pas '+d1[2]+' jours au mois de '+c[d1[1]]); d.focus(); d.select(); return; } if(j<10) j = '0'+j; if(m<10) m = '0'+m; d.value = y+'-'+m+'-'+j; } else alert('erreur format daten( AAAAA-MM-JJ )'); if(d0 != d.value) alert('contrôlez bien votre date !'); }