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') ; } }
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