Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1629 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  masque de date

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

masque de date

n°765438
Zigo30
Posté le 16-06-2004 à 11:00:17  profilanswer
 

Salut  :hello:  
 
Voila je debute en JS, mon pb et que je souhaiterai pouvoir ne rentrer que le jour de la date et que grace a une fonction JS on remplisse le reste.
ex:16 donne 16/06/2004
 
J'ai ecrit cela mais ca ne fonctionne pas
 

Code :
  1. function masque(){
  2. var champ1=document.form_app.doirapelerdate.value;
  3. var date_tmp;
  4. if(champ1.length==2){
  5. date_tmp=champ1.substring(0,2)+"/"+(Stamp.getMonth()+1)+ "/"+Stamp.getYear();
  6. document.form_app.doirapelerdate.value=date_tmp;
  7. }
  8. }


 
Une autre question a quel evenement je dois appeller cette fonction? (c bien ONBLUR?)
 
Merci pour votre aide a un jeune padawak  :jap:

mood
Publicité
Posté le 16-06-2004 à 11:00:17  profilanswer
 

n°765498
Zigo30
Posté le 16-06-2004 à 11:34:50  profilanswer
 

HELP ME PLEASE

n°765508
boulax
Inserer phrase hype en anglais
Posté le 16-06-2004 à 11:39:30  profilanswer
 

plutot onkeyup ... Qu'est ce qui ne marche pas ? Au hasard l'objet Stamp n'est pas déclaré ?  
 

Code :
  1. Stamp = new Date();


---------------
Posté depuis des chiottes, sales. Me gusta.
n°765634
Mara's dad
Yes I can !
Posté le 16-06-2004 à 12:45:22  profilanswer
 

Code :
  1. <html>
  2. <head>
  3. <script>
  4. // Vérifie qu'une date est bien saisie dans le format JJ/MM/AAAA
  5. function checkDate( oDateToCheck )
  6. {
  7. var dDate; // Utilisé pour générer un objet Date
  8. var nDate; // Utilisé pour générer une référence temporelle numérique !
  9. var aDate; // Tableau des éléments du champs de saisie séparés par de "/"
  10. // Messages d'erreur.  
  11. var sErrFormat = "La date doit être saisie dans le format JJ/MM/AAAA !";
  12. var sErrFormatJour = "Le jour doit être compris entre 1 et 31 !";
  13. var sErrFormatMois = "Le mois doit être compris entre 1 et 12!";
  14. var sErrFormatAnnee = "L'année doit être sur 1,2 ou 4 chiffres !";
  15. // Suppression des espaces du début
  16. oDateToCheck.value = oDateToCheck.value.replace( /^\s+/, "" );
  17. // Suppression des espaces de fin
  18. oDateToCheck.value = oDateToCheck.value.replace( /\s+$/, "" );
  19. // Remplacement des espaces par des /
  20. oDateToCheck.value = oDateToCheck.value.replace( /\s+/, "/" );
  21. oDateToCheck.value = oDateToCheck.value.replace( /\s+/, "/" );
  22. oDateToCheck.value = oDateToCheck.value.replace( /\s+/, "/" );
  23. oDateToCheck.ok = false;
  24. //cas d'une date vide
  25. if( oDateToCheck.value == "" )
  26. {
  27.  oDateToCheck.ok = true;
  28.  return true;
  29. }
  30. // Séparation des éléments de la date.
  31. aDate = oDateToCheck.value.split( "/" );
  32. // On vérifie qu'on a bien 3 éléments  
  33. if( aDate.length != 3 )
  34. {
  35.  // S'il n'y as pas de /, on découpe la chaine en 3 si sa longueur est 6 ou 8
  36.  if( aDate.length == 1 )
  37.  {
  38.   if( oDateToCheck.value.length < 3 )
  39.   {
  40.    dDate = new Date();
  41.    aDate[0] = oDateToCheck.value;
  42.    aDate[1] = "" + ( dDate.getMonth() + 1 );
  43.    aDate[2] = "" + dDate.getFullYear();
  44.   }
  45.   else if( oDateToCheck.value.length == 6 )
  46.   {
  47.    aDate[0] = oDateToCheck.value.substr( 0, 2);
  48.    aDate[1] = oDateToCheck.value.substr( 2, 2);
  49.    aDate[2] = oDateToCheck.value.substr( 4, 2);
  50.   }
  51.   else if( oDateToCheck.value.length == 8 )
  52.   {
  53.    aDate[0] = oDateToCheck.value.substr( 0, 2);
  54.    aDate[1] = oDateToCheck.value.substr( 2, 2);
  55.    aDate[2] = oDateToCheck.value.substr( 4, 4);
  56.   }
  57.   else
  58.   {
  59.    alert( sErrFormat );
  60.    return false;
  61.   }
  62.  }
  63.  else
  64.  {
  65.   alert( sErrFormat );
  66.   return false;
  67.  }
  68. }
  69. // On vérifie que c'est bien des nombres
  70. if( isNaN( aDate[0] ) ||  isNaN( aDate[1] ) || isNaN( aDate[2] )  )
  71. {
  72.  alert( sErrFormat );
  73.  return false;
  74. }
  75. // Vérification grossière sur le jour
  76. if( aDate[0] > 31 || aDate[0] < 1 )
  77. {
  78.  alert( sErrFormatJour );
  79.  return false;
  80. }
  81. // Vérification du mois
  82. if( aDate[1] > 12 || aDate[1] < 1 )
  83. {
  84.  alert( sErrFormatMois );
  85.  return false;
  86. }
  87. // Vérifier que l'année est bien sur 1, 2 ou 4 chiffres
  88. if( aDate[2].length != 1 && aDate[2].length != 2 && aDate[2].length != 4  )
  89. {
  90.  alert( aDate[2].length );
  91.  alert( sErrFormatAnnee );
  92.  return false;
  93. }
  94. // Si l'année est sur 1 ou 2 chiffres, on la remet sur 4
  95. if( aDate[2] < 50 )
  96. {
  97.  aDate[2] = 2000 + parseInt( aDate[2] );
  98. }
  99. else
  100. {
  101.  if( aDate[2] >= 50 && aDate[2] < 100 )
  102.  {
  103.   aDate[2] = 1900 + parseInt( aDate[2] );
  104.  }
  105. }
  106. // Création d'une référence temporelle numérique à partir des élémentnt de la date  
  107. nDate = Date.parse( aDate[1] + "/" + aDate[0] + "/" + aDate[2]  );
  108. // Vérification que la référence temporelle est une date valide
  109. if( isNaN( nDate ) )
  110. {
  111.  alert( oDateToCheck.value + " n'est pas une date valide !" );
  112.  return false;
  113. }
  114. else
  115. {
  116.  // On renvoie la date formatée
  117.  dDate = new Date( nDate )
  118.  oDateToCheck.value = dDate.getDate() + "/" + ( dDate.getMonth() + 1 ) + "/" + dDate.getFullYear();
  119.  oDateToCheck.ok = true;
  120.  return true;
  121. }
  122. }
  123. </script>
  124. </head>
  125. <body>
  126. <form>
  127. <input type="text" id="myDate" onchange="checkDate(this);">
  128. </form>
  129. </body>
  130. </html>


 
Vérification de date en JS..
 
15 -> 15/6/2004
1 1 1 -> 1/1/2001
12 5 50 -> 12/5/2050
12 5 51 -> 12/5/1951
010105 -> 1/1/2005
23/04/2003 -> 23/4/2003
 
:D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°1205874
malibu2k
Posté le 23-09-2005 à 13:59:36  profilanswer
 

Comment peut-on modifier la programmation pour avoir une date au format 01/01/2005, avec un zéro devant en plus ?

n°1205881
gatsusat
Posté le 23-09-2005 à 14:04:55  profilanswer
 

laisse tomber ce code, il est mal branlé

n°1205885
malibu2k
Posté le 23-09-2005 à 14:06:29  profilanswer
 

Tu en as un autre à me proposer de plus intéressant ??

n°1205916
xtof_83
Freeride Spirit
Posté le 23-09-2005 à 14:38:58  profilanswer
 

....


Message édité par xtof_83 le 23-09-2005 à 14:43:22
n°1205997
malibu2k
Posté le 23-09-2005 à 15:33:36  profilanswer
 

ben j'écoute pas de réponse ? moi je trouve qu'il n'est pas si mal, mais j'aimerais pouvoir rajouter un 0 devant le mois et le jour.
Une petite réponse ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  masque de date

 

Sujets relatifs
Probleme de date....forcer date jj/mm/aaaa [Résolu]
Access, critère de date Urgent !!date fichier
comparaison de datefonctions sur la date courante
Insertion d'une date dans une DB access depuis VB6. (BUG A LA CON !)[javascript] écrire la valeur d'un champs masqué
Comparaison datedate PHP
Plus de sujets relatifs à : masque de date


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR