//兼容IE8以下的寫法 var birthDay = '1992-02-22'; var birthDay = new Date(birthDay.replace(/-/g, '/'));
PS:IE8 new Date('1991/23/44')不會報錯,他會進位,而chrome下則認爲這樣的日期是錯誤的,會報錯。那麼有一種方法可以幫助我們判斷某個日期字符串是否正確。如下代碼:
var birthDay = '1992-22-44'; var birthday = new Date(birthDay.replace(/-/g, '/')); if(birthday.toString() === 'Invalid Date') { return false; } //ie下 var birthDayArr = birthDay.split('-'); if(birthday.getFullYear() != birthDayArr[0] || (birthday.getMonth()+1 != birthDayArr[1]) || birthday.getDate() != birthDayArr[2]) { return false; }