JavaScript che rileva date valide

Possibile duplicato:
Rilevazione di una data “data non valida” istanza in JavaScript

Stavo usando quanto segue per rilevare una data valida:

var text = $('#Date').val(); var date = Date.parse(text); if (isNaN(date)) { // Invalid date } 

Ma ho trovato che Date.parse pensa che le seguenti date siano valide (mm / gg / aaaa)

  • 2011/02/30
  • 2011/11/31

Qualsiasi altro modo per rilevare date non valide quando il numero di giorni supera il numero totale di giorni nel mese?

AGGIORNAMENTO: Un problema ancora più grande è che il plugin di convalida jQuery non lo rileva come data non valida!

SOLUZIONE:

Sulla base dei commenti di @ Guffa, ho creato la seguente funzione per convalidare le date:

 function validDate(text) { var date = Date.parse(text); if (isNaN(date)) { return false; } var comp = text.split('/'); if (comp.length !== 3) { return false; } var m = parseInt(comp[0], 10); var d = parseInt(comp[1], 10); var y = parseInt(comp[2], 10); var date = new Date(y, m - 1, d); return (date.getFullYear() == y && date.getMonth() + 1 == m && date.getDate() == d); }