[HTML, JS] Pourkoi cette fonction ne marche pas bien ??

Pourkoi cette fonction ne marche pas bien ?? [HTML, JS] - HTML/CSS - Programmation

Marsh Posté le 15-08-2002 à 10:51:51    

Voici le code d'une fonction en  JavaScript pour verifier la validite d'une date saisie.
 
Or, des que le mois est 08 ou 09, le m que je recupere est 0 alors que pour tous les autres mois < 10, je recupere bien la bonne valeur.
 
Auriez-vous une idee ou bien une autre solution à mon pb ??
 
 
 

Code :
  1. <script type="text/javascript">
  2.  function isDate(d)
  3.  {
  4.   e = new RegExp("^[0-9]{2}/[0-9]{2}/[0-9]{4}$" );
  5.   if (!e.test(d))
  6.    return false;
  7.   alert (d);
  8.   j = parseInt(d.split("/" )[0]);
  9.   m = parseInt(d.split("/" )[1]);
  10.   alert (m);
  11.   a = parseInt(d.split("/" )[2]);
  12.   if (a%4 == 0 && a%100 !=0 || a%400 == 0)
  13.    fev = 29;
  14.   else
  15.    fev = 28;
  16.   nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);
  17.   alert(m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1]);
  18.   alert (m + " " + j + " " + a);
  19.   return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] ); }
  20.   </script>

Reply

Marsh Posté le 15-08-2002 à 10:51:51   

Reply

Marsh Posté le 15-08-2002 à 11:30:52    

>> a = parseInt(d.split("/" )[2]);  
 
tout nombre commençant par un 0 est interprété comme étant octal (base 7), ceci dans pas mal de langages (dont le js).

Reply

Marsh Posté le 15-08-2002 à 12:15:04    

merci  :hello:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed