0
下面的代碼使用jQuery驗證檢查的出生日期在窗體上。它多年來行之有效,在今年2016/17失敗了,但只能在IE和Chrome之交,Firefox的罰款。jQuery驗證日期代碼失敗在某些瀏覽器
經過一番調查後,我可以使用18作爲年齡,而不是17歲。然後我意識到這是由於當前是2017年,而減去17是2000年。我的觀點是,在IE和Chrome中,它是使用兩位數年份。 01/01/00的日期無效。通過的日期是DD/MM/YYYY。
我不知道如何強制四位數年份,以確保該工程無論並且不會摔倒明年18歲。
> $.validator.addMethod("ValidDOB17", function (value, element) {
// checking whether the date entered is in correct format
var isValid = value.match(/^\d\d?\/\d\d?\/\d\d\d\d$/);
if (isValid) {
var today = new Date();
var minyear = new Date();
today.setYear(today.getYear() - 17);
minyear.setYear(today.getYear() - 82);
var DOB = Date.parse(value);
if (DOB >= today || DOB <= minyear) {
isValid = false;
}
return isValid;
}
}, "You must be aged over 17");
使用'.getFullYear()'而不是'.getYear回到2位數的年份爲年()' –