bonjour,
je souhaite mettre en place une fonction qui me permettra de vérifier si la date entrer est compris entre 20 et 80 ans,
c'est a dire date System - date_saisie=(entre 20 et 80 )
merci
bonjour,
je souhaite mettre en place une fonction qui me permettra de vérifier si la date entrer est compris entre 20 et 80 ans,
c'est a dire date System - date_saisie=(entre 20 et 80 )
merci
Salut,
quand tu tentes de soustraire deux objets Date, tu obtiens le nombre de millisecondes qui sépare ces deux dates. De là, tu peux obtenir le nombre d'années, mais ce n'est pas forcément la méthode la plus précise.
Je m'explique, d'après Google, il y a en moyenne 365.242199 jours dans une année. En partant d'une quantité de millisecondes, il faut donc diviser par 1000 * 60 *60 *24 *365.242199 pour avoir le nombre d'années. Sachant que toutes ces opérations sont réalisées en virgule flottante, il peut donc y avoir une perte de précision à chaque étape.
Sinon il y a une solution beaucoup plus simple:
Reste plus qu'à faire la comparaison :
Code : Sélectionner tout - Visualiser dans une fenêtre à part var diff = new Date().getFullYear() - date_saisie.getFullYear();
Code : Sélectionner tout - Visualiser dans une fenêtre à part return diff >= 20 && diff <= 80;![]()
La FAQ JavaScript – Les cours JavaScript
Touche F12 = la console → l’outil indispensable pour développer en JavaScript !
voici la fonction :
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 function date(date_saisie) { var diff = new Date().getFullYear() - date_saisie.getFullYear(); if( diff >= 20 && diff <= 80){ alert('date ok') ; } else { alert('date no ok') ; } }
et la mon inpute :
mais le onblur ne se déclenche pas et rien ne s'affiche .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <input type="text" id="Text3" onblur="date(document.getElementById('Text3').value);"/>
merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part var diff = new Date().getFullYear() - date_saisie.getFullYear();
date_saisie est de type chaine, donc ne possède pas de méthode getFullYear()...
D'autre part
serait aussi efficace avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part <input type="text" id="Text3" onblur="date(document.getElementById('Text3').value);"/>
Code : Sélectionner tout - Visualiser dans une fenêtre à part <input type="text" id="Text3" onblur="date(this.value);" />
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum
comment puis-je faire alors , pour convertir la chaîne en date dans cette fonction !!!
merci
j'essaye avec ça mais ca donne rien :
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 function date(date_saisie) { var dt = new Date(); dt = date_saisie; var diff = new Date().getFullYear() - dt.getFullYear(); alert ('kkkk'); if( diff >= 20 && diff <= 80){ alert('date ok') ; } else { alert('date no ok') ; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part var dt = new Date(date_saisie);
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 !
c'est bon j'ai trouvé la reponse:
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 function date(date_saisie) { var machaine = date_saisie; var maDate = new Date() var TabChaine = machaine.split('\/') maDate.setDate(TabChaine[0]); maDate.setMonth(TabChaine[1]); maDate.setYear(TabChaine[2]); alert(maDate); var diff = new Date().getFullYear() - maDate.getFullYear(); alert ('kkkk'); if( diff >= 20 && diff <= 80){ alert('date ok') ; } else { alert('date no ok') ; } }
merciiiii
Tout dépend du format d'entrée de ta date :
16/12/2011
16/12/11
16 décembre 2011
2011
etc.
Ah moins qu'il est une sorte de parser générique un peu comme strtotime() de PHP ?
Edit: grilled![]()
Je ne suis pas schizophrène, nous sommes unanime !!!
► Pensez à la balise code et au CODE HTML GENERE !!!!
► Ausi c'est le cas et au
à ceux qui vous ont aidé.
► Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !
Créer des colonnes de même hauteur en CSS
Glossaire CSS
Les bordures en CSS3
Les transitions en CSS3
Pour quoi faire ? La retransformer en nombre pour la soustraction ?Envoyé par mvc_dev
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var annee = date_saisiesplit('\/'); var diff = new Date().getFullYear() - annee[2];
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum
Partager