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;
} |
Partager