Javascript equivalente a DateTime.Parse do .NET

Eu estou tentando construir um validador que irá trabalhar com DefaultModelBinder do .NET de usar DateTime.Parse para converter uma seqüência de caracteres do post de formulário para um DateTime. Eu não quero ter que esperar até que uma data tenha sido postada no servidor para que ela perceba que foi uma data ruim.

Atualmente, o jquery.validate usa o seguinte código para validar os campos de data:

// http://docs.jquery.com/Plugins/Validation/Methods/date
date: function(value, element) {
    return this.optional(element) || !/Invalid|NaN/.test(new Date(value));
}

No entanto, devido ao terrível analisador de data do Javascript, isto:

275481/69/100089

Vai avaliar comoválido, a 12 de setembro de 275760.

Enquanto, por outro lado, isso:

11-19-2013

Vai avaliar comoinválido.

É claro, eu entendo que DateTime.Parse () do C # leva em conta coisas como cultura (localização) e ano bissexto, e eu poderia viver com a suposição de uma cultura fixa (EUA), e permitir "02-29-2013" no cliente e chutar para fora no servidor (idealmente não, mas é aceitável).

Mas eu não posso acreditar que alguém não tenha juntado um validador de data melhor para trabalhar com a lógica DateTime.Parse () do C #.

Talvez alguém tenha, eu não encontrei - é por isso que estou postando aqui.

E eu sei que tenho várias maneiras de fazer isso - de incrivelmente simples (menos preciso) a incrivelmente complexo (mais preciso), mas espero que alguém já tenha seguido esse caminho e encontrado o ponto ideal.

questionAnswers(4)

yourAnswerToTheQuestion