Olası Çoğalt:JavaScript Tespit Geçerli Tarihler
var text = $('#Date').val(); var date = Date.parse(text); if (isNaN(date)) { // Invalid date }
Ama Date.parse düşünüyor bulundu:
Detecting an “invalid date” Date instance in JavaScript
Ben geçerli bir tarih tespit etmek için aşağıdaki kullanıyordum Aşağıdaki geçerli tarihler (gg/gg/yyyy)
- 2/30/2011
- 11/31/2011
gün sayısı ayda toplam gün sayısını aşan zaman geçersiz tarihleri algılamak için başka yol var?
GÜNCELLEME: Daha da büyük bir sorun, jQuery doğrulama eklentisinin geçersiz bir tarih olarak algılamamasıdır!
ÇÖZÜM:
Ben tarihleri doğrulamak için aşağıdaki işlevi oluşturduk Guffa yorumları, @ dayanarak:
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);
}
Date.parse bunların doğru olmadıklarını düşünür, ancak bunları sizin için doğru tarihlere dönüştürür. Örneğin. 02/02/2011'de sona erecek vot 03/02/2011' – Andreas
'un kapanış olarak kapatılmasından sonra, verilen sorunun * aynı değil, her ne kadar ilişkili olduğunu anladım. – zzzzBov
Birden çok lokalde girişi desteklemem gerektiğinden, kendi tarih ayrıştırıcımızı uyguladık. Bu hatayı algılayabilmemizin tek yolu, oluşturulan Tarih –