Javascript 如何使用js验证此格式(yyyy-mm)的日期?

Javascript 如何使用js验证此格式(yyyy-mm)的日期?,javascript,Javascript,我需要验证日期的格式是否为yyyy-mm 确保在今天之前到达 我的问题是,为什么当我使用这个构造函数时会提前一个月 new Date(year, month, day, hours, minutes, seconds, milliseconds) 这是完成这项任务的最佳方法吗? 谢谢大家! 函数testDatedateString{ dateString=dateString.trim; var regEx=/^\d{4}-[0][1-9]|[1][0-2]$/; ifdateString.

我需要验证日期的格式是否为yyyy-mm 确保在今天之前到达 我的问题是,为什么当我使用这个构造函数时会提前一个月

new Date(year, month, day, hours, minutes, seconds, milliseconds)
这是完成这项任务的最佳方法吗? 谢谢大家!

函数testDatedateString{ dateString=dateString.trim; var regEx=/^\d{4}-[0][1-9]|[1][0-2]$/; ifdateString.matchregEx!==null{ var spArr=dateString.split'-'; var year=ParseIntSpar[0],10; var月=ParseIntSpar[1],10; var currentDate=新日期; inputDate=新日期年、月、1、12、30、0、0; 警报“年:”+年+”月:“+月; 警报输入日期; ifinputDate>currentDate{ 警报“输入日期['+dateString+']大于当前日期!”; } 警惕‘一切正常!’; }否则{ 警报“输入日期['+dateString+']的格式无效,正确格式:yyyy MM示例:1975-09'; } } 测试日期'2014-04'; 测试日期'14-04';
测试日期'2014-4' 不需要重新发明轮子。日期构造函数已经为您处理了这个问题

const testDate=str=>{ if/^\d{4}-[0][1-9]|[1][0-2]$/.teststr==null返回false; 让我们现在=新的日期; 试一试{
return new Datestrok明白了!谢谢!不要将答案直接编辑到问题中。你让你的问题变得毫无用处。有两个问题,我删除了一个。为什么在收到答案后要删除部分问题?不好,因为它也接受此控制台。logtestDate'2017-01-01';True。为处理此案例而编辑可能不起作用在所有具有新数据“yyyy-mm”的情况下,将有一天为新日期“2014-04”,即2014年3月31日周一19:00:00 GMT-0500中央夏令时