我想寫一個日期驗證器,將採用格式爲ddmmyyyy的長度爲8的字符串輸入日期。它需要檢查所有基礎的有效日期,並作爲結果返回true或false。創建一個日期驗證器
我無法使用額外的庫,如時刻,我不能使用正則表達式(這不是一個家庭作業,我只是被告知在這些約束下工作)。
如果有人能告訴我我的下面有什麼問題,我將不勝感激!
function isValidDate(i) {
if (i.length == 8) {
var dd = i.substring(0, 2);
var mm = i.substring(2, 4);
var yyyy = i.substring(4, 7);
var day = parseInt(dd,10);
var month = parseInt(mm,10);
var year = parseInt(yyyy,10);
if (year % 4 != 0 && day = 29 && month = 02) {
return false;
} else if (day > 31) {
return false;
} else if (month > 12) {
return false;
} else {
return true;
}
} else {
return false;
}
return true;
}
在將字符串分割爲變量'yyyy','mm','dd'後,您可以從該數據創建一個新的Date對象,並檢查Date對象是否具有與創建Date對象相同的變量。 – Epsil0neR
您的函數允許每天只有30天的日期爲31天 – Barmar
除了閏年(但不知道閏年的世紀規則),它還允許2月30日和2月31日但不是2月29日。 – Barmar