function isDate(d) {
    // Cette fonction permet de vérifier la validité d'une date au format jj/mm/aa ou jj/mm/aaaa
    // Par Romuald
    
    if (d == "") // si la variable est vide on retourne faux
        return false;
    
    e = new RegExp("^[0-9]{1,2}[/-][0-9]{1,2}[/-]([0-9]{2}|[0-9]{4})$");
    
    if (!e.test(d)) // On teste l'expression régulière pour valider la forme de la date
        return false; // Si pas bon, retourne faux

    // On sépare la date en 3 variables pour vérification, parseInt() converti du texte en entier
    if(d.indexOf('/')!=-1)
	{
	j = parseInt(d.split("/")[0]); // jour

        if j.charAt(0)=="0"
          {
           j=j.charAt(1)
          }

        m = parseInt(d.split("/")[1]); // mois
        a = parseInt(d.split("/")[2]); // année
	}
	else
	{
	   if (d.indexOf('-')!=-1)
	     {
		 j = parseInt(d.split("-")[0]); // jour
                 if j.charAt(0)=="0"
                   {
                    j=j.charAt(1)
                   }
                 m = parseInt(d.split("-")[1]); // mois
                 a = parseInt(d.split("-")[2]); // année
	     }
     }
	 
    // Si l'année n'est composée que de 2 chiffres on complète automatiquement
    if (a < 1000) {
        if (a < 89)    a+=2000; // Si a < 89 alors on ajoute 2000 sinon on ajoute 1900
        else a+=1900;
    }

    // Définition du dernier jour de février
    // Année bissextile si annnée divisible par 4 et que ce n'est pas un siècle, ou bien si divisible par 400
    if (a%4 == 0 && a%100 !=0 || a%400 == 0) fev = 29;
    else fev = 28;

    // Nombre de jours pour chaque mois
    nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);

    // Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon retourn faux
    return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] );
}






