Bonjour a tous,

J'ai un petit probleme et je voudrais savoir si c'etait possible que l'un de vous teste cette fonction chez lui voir si elle marche.

Elle verifie un input ou il y a une date et si elle est bonne elle fait une soustraction et met le resultat dans un input(en gros pour deduire un age)
et j'ai mit cette fonction sur un onblur

Merci d'avance

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
 
function verifDate(element,id1)
{
var tmp = document.forms["result_rpfa"].elements[element].value;
var regsymbol = new RegExp("[ /-]","g");    //verif de la pr�sence d'espace (01 12 2004), de / (01/12/2004) ou de - (01-12-2004)
var regnum = new RegExp("[0-9]{6,8}","g"); //type 011204 ou 01122004
var jour = 0;
var mois = 0;
var annee = 0;
var res = false;
var ladate = new Date();
var annee_courante = ladate.getFullYear().toString();
 
document.forms["result_rpfa"].elemnts[id1].value = 20;
if (tmp == " ")
  {
  var taille = tmp.length;
  var bool_num = regnum.test(tmp);
  var bool_symbol = regsymbol.test(tmp);
 
  if (bool_num)
    {
    	switch(taille)
          {
          case 6:	// cas 011204
            jour = tmp.substr(0,2);
            mois = tmp.substr(2,2);
	    annee = annee_courante.substr(0,2) + tmp.substr(4,2);
            break;
          case 8:	// cas 01122004
            jour = tmp.substr(0,2);
            mois = tmp.substr(2,2);
	    annee = tmp.substr(4,4);
          }
    }
  else
    {
    if (bool_symbol)
      {
    	switch(taille)
          {
          case 8:	// cas 01/12/04
            jour = tmp.substr(0,2);
            mois = tmp.substr(3,2);
	    annee = annee_courante.substr(0,2) + tmp.substr(6,2);
            break;
          case 10:	// cas 01/12/2004
            jour = tmp.substr(0,2);
            mois = tmp.substr(3,2);
	    annee = tmp.substr(6,4);
          }
      }
    }
 
    if ((jour != 0) && (mois != 0) && (annee != 0))
      {
      if ((mois == 1) || (mois == 3) || (mois == 5) || (mois == 7) || (mois == 8) || (mois == 10) || (mois == 12)) // mois � 31 jours
        {
        if (jour < 32)
          {
          res = true;
          }
        }
      if ((mois == 4) || (mois == 6) || (mois == 9) || (mois == 11)) // mois � 30 jours
        {
        if (jour < 31)
          {
          res = true;
          }
        }
      if (mois == 2) // 28 ou 29 jours selon ann�e bisextille
        {
        if ((annee % 4) == 0)
          {
            if (jour < 30)
              {
              res = true;
              }
          }
        else
          {
            if (jour < 29)
              {
              res = true;
              }
          }
        }
      }
document.forms["result_rpfa"].elements[element].value = jour + "/" + mois + "/" + annee;
  if (res)
    {
 
 
    if (mois <= 6) 	// date de naissance au 31/12 le plus proche est le 31/12 de l'année précédente.
    	{
    	document.forms["result_rpfa"].elements[element].value = jour + "/" + mois + "/" + annee;
        document.forms["result_rpfa"].elements[id1].value = 2010 - annee + 1 ;
    	}
    else		// date de naissance au 31/12 le plus proche est le 31/12 de l'année en cours.
    	{
            document.forms["result_rpfa"].elements[element].value = jour + "/" + mois + "/" + annee;
            document.forms["result_rpfa"].elements[id1].value = 2010 - annee;
    	}
    			//prendre indice ("date" + i) afin de remplir la case age correspondante ("age" + i)
    if (document.forms["result_rpfa"].elements[id1].value < 0)
    	{
    	document.forms["result_rpfa"].elements[id1].value = 0;
    	}
 
    }
  else
    {
    alert("La date de naissance entrée n'est pas valide(elle doit etre de la forme jj/mm/aaaa ou un jour/mois n'est peut-être pas correct)");
    document.forms["result_rpfa"].elements[element].focus();
    }
  }
//return res;
}