我刚学正则表达式和我创建了一个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 –