0
我正在做一些驗證與Date()
,我注意到,如果我創建一個兩位數的年份而不是四個Date(01/01/55)
的無效日期那麼當前世紀將前綴到年 - 55年成爲1955年 - 而不是一個無效的日期對象,我可以用NaN測試。Javascript日期驗證 - 前綴19(世紀)到兩位數日期
這是一個問題,因爲我讓用戶無需任何「/」輸入日期,然後我創建使用substr
日期:
// Check date is in correct format
var fDate = val.split('/');
// Should have 3 parts
if (fDate.length != 3) {
var day = val.substr(0, 2);
var month = val.substr(2, 2);
var year = val.substr(4, 4);
val = day + '/' + month + '/' + year;
control.val(val);
}
因此,如果用戶輸入010155
我的邏輯把它變成01/01/55
然後Date()
創建日期01/01/1955
,但相反,我想它創建一個無效的日期對象。
你可能應該做自己的驗證 - 不幸的是,瀏覽器處理非標準日期格式的方式不一致。 – 2015-02-06 14:06:49
也許使用像http://momentjs.com/這樣的庫是個不錯的選擇 – dec 2015-02-06 15:52:12