YYYY / MM / DD格式 - JavaScript日期验证

时间:2014-03-07 23:37:09

标签: javascript regex

我尝试使用我在网上找到的以下功能(我将其更改为我的日期格式)来检查日期是否有效:

function isValidDate(date)
{
    var matches = /(\d{4})[-\/](\d{2})[-\/](\d{2})/.exec(date);
    if (matches == null) return false;
    var day = matches[2];
    var month = matches[1] - 1;
    var year = matches[3];
    var composedDate = new Date(year, month, day);
    return composedDate.getDate() == day &&
             composedDate.getMonth() == month &&
             composedDate.getFullYear() == year;
}

格式为MM / DD / YYYY,但我尝试更改正则表达式,因此第一部分({2}为{4},最后一部为{2}为{4}。对不起,我真的不知道我在JavaScript中使用正则表达式做了什么。

感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

您还应该更改读取数据的顺序:

var year = matches[1];
var month = matches[2] - 1;
var day = matches[3];

因此,如果您的格式为YYYY / MM / DD,则第一个匹配的组应该是年份,第二个月和第三个。这样功能就可以了。