我想在JavaScript中验证用逗号分隔的日期。
日期可以是这样的单个日期:11-29-2018
或多个这样的日期:11-29-2018,12-20-2018,...
这两种情况都应该得到验证。
我找到了PHP的正则表达式,它验证了上述两种情况。但我不知道如何将其转换为JavaScript正则表达式,使其工作。
PHP正则表达式:
/^((?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])-[0-9]{4})(?:,\s*(?1))*$/
看到你是SO的新访客,我可以给你一些提示
例如,请注意下面的结果。无效的02-29-2019创建了3月1日的日期
"11-29-2018,02-29-2019".split(",").forEach(function(d) {
var date = new Date(d);
date.setHours(12,0,0) // make it easier to handle timezones
var testMonth = d.split("-")[0]-1; // notice the month is 0 based
console.log(date, date.getMonth(), testMonth===date.getMonth());
})