function esFechaValida(dateStr) {
// Formatos validos:  DD/MM/YY  DD/MM/YYYY  DD-MM-YY  DD-MM-YYYY
//dos yy:var fechaPat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;

var fechaPat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
var matchArray = dateStr.match(fechaPat); // Formato bueno?

if (matchArray == null)	return false;
dia = matchArray[1];
mes = matchArray[3];
ano = matchArray[4];
if (mes < 1 || mes > 12) return false;
if (dia < 1 || dia > 31) return false;
if ((mes==4 || mes==6 || mes==9 || mes==11) && dia==31) return false;
if (mes == 2) 
	{ // 29 de febrero
	var bisiesto = (ano % 4 == 0 && (ano % 100 != 0 || ano % 400 == 0));
	if (dia>29 || (dia==29 && !bisiesto)) return false;
   	}
return true;
}