Validación de fechas con javascript

Función javascript para comprobación de años bisiestos

 

Ver si es bisiesto el año:

 

// Verificación de año bisiesto (true/false) (limitado a rango 1900..2100)
function bisiesto(ano) {
  if ((anoNum<1900)||(anoNum>2100)) return false;
  return (((ano % 4 == 0) && (ano % 100 != 0)) || (ano % 400 == 0))
}

Función javascript para validación de fechas

 

Validar si la siguiente fecha es valida (dia, mes y año):

 

// Validación de fecha válida (limitado a rango 1900..2100)
function validaFecha(dia, mes, ano) {
  var anoNum = parseInt(ano, 10);
  var mesNum = parseInt(mes, 10)-1;
  var diaNum = parseInt(dia, 10);
  if ((anoNum<1900)||(anoNum>2100)) return false;
  var fechaAno = new Date(anoNum,1,1); // Para tener el año a 4 dígitos
  var fechaDate = new Date(anoNum, mesNum, diaNum); // Paso a fmt fecha
  return (fechaAno.getFullYear() == fechaDate.getFullYear() &&
          mesNum == fechaDate.getMonth()) ? true : false;
}

Estos ejemplos están limitados al rango de años válidos a 1900-2100, cambiése en las funciones al rango deseado o añadanse como argumentos en las funciones

Otra de forma de validar si un año es bisiesto es utilizar esta última función usando el año, mes 02 y día 29.