Chrome中的Date.parse實現具有非常意外的行爲。Chrome中的Date.parse問題
例如,Date.parse('foo 2014')理想情況下應返回NaN,因爲它不是正確的日期格式。但是在Chrome中,此返回值爲1388514600000,相當於「Wed Jan 01 2014 00:00:00 GMT + 0530(印度標準時間)」的日期。
只要字符串以某種年份結尾,就會返回適當的日期值。這不會讓我們正確驗證日期。
根據ECMAScript,這個行爲是依賴於實現的,並且chrome做了一個非常寬鬆的驗證,還有一些如何轉換爲日期。
無論如何,在Chrome中無需使用任何庫或使用重邏輯和匹配模式來正確驗證日期?
一種可能的方式可能會使用Date.UTC 1.風險價值=您的日期 2.斯普利特的格式它任何分隔你有(摘錄月,日,年) 3. VAR日期=新的日期( Date.UTC('2014','foo'.......) console.log(日期) - 打印無效日期 但是,您必須驗證月份和日期範圍,這應該很容易 – user1428716
@ user1428716 ,問題是格式可以是任何東西,數據來自Excel文件,如果用戶輸入它作爲字符串,我們需要解析它到一個適當的日期... –