我剛學正則表達式和我創建了一個DD-MM-YYYY日期驗證使用正則表達式:RegExp的日期驗證在JavaScript
^(0[1-9]|[12][0-9]|3[01])([-/.])(0[1-9]|1[0-2])\2(19|20)\d\d$
它似乎做工精細。但我想知道是否有任何改進可以確保不會有錯誤。有什麼建議麼?
我剛學正則表達式和我創建了一個DD-MM-YYYY日期驗證使用正則表達式:RegExp的日期驗證在JavaScript
^(0[1-9]|[12][0-9]|3[01])([-/.])(0[1-9]|1[0-2])\2(19|20)\d\d$
它似乎做工精細。但我想知道是否有任何改進可以確保不會有錯誤。有什麼建議麼?
爲什麼要重新發明輪子。藉助內置的日期解析方法Date.parse(String)
這樣的:
var timestamp = Date.parse(str); // str is your input string for data
var date = null
if (isNaN(timestamp) == false)
date = new Date(timestamp);
else
alert("Invalid date");
Date.parse包裝無效日期,因此'2013-02-29'將被驗證。 – georg
這種驗證是不可能的(或者,至少不是實際的)正則表達式。日期不是字符串。 – georg
1/1/2000怎麼樣似乎是一個有效的數據給我,不是每個人都加上領先0 –