如何在javascript中验证整数是否为验证日期?

如何在javascript中验证整数是否为验证日期?,javascript,jquery,date,Javascript,Jquery,Date,用户需要以yyyymmdd的格式输入一个字符串作为整数和一个日期,如20150127 它需要是纯整数和绝对验证日期。例如,20150011或20150230将无效 我目前所做的只是简单地将字符串拆分为年,月,日,然后自己尝试验证它们。例如,月份必须在[1,12]范围内,等等 但理想情况下,我想尝试将其解析为一个正确的日期,否则,我无法处理一个月缺少一天的情况,比如2月或4月没有31天,等等 如何才能完美地完成此验证?您可以使用“矩.js”javascript库进行验证 function pars

用户需要以
yyyymmdd
的格式输入一个字符串作为整数和一个日期,如
20150127

它需要是纯整数和绝对验证日期。例如,
20150011
20150230
将无效

我目前所做的只是简单地将字符串拆分为
,然后自己尝试验证它们。例如,
月份
必须在
[1,12]
范围内,等等

但理想情况下,我想尝试将其解析为一个正确的日期,否则,我无法处理一个月缺少一天的情况,比如2月或4月没有31天,等等

如何才能完美地完成此验证?

您可以使用“矩.js”javascript库进行验证

function parseDate(str) {
    var y = str.substr(0,4),
        m = str.substr(4,2) - 1,
        d = str.substr(6,2);
    var D = new Date(y,m,d);
    return (D.getFullYear() == y && D.getMonth() == m && D.getDate() == d) ? D : false;
}

console.log(parseDate('20150131')); // returns Sat Jan 31 2015 00:00:00 GMT+0100 (W. Europe Standard Time)
console.log(parseDate('20150231')); // returns false
var m = moment("2011-10-10T10:20:90");
m.isValid(); // false
您可以使用“moment.js”javascript库进行验证

var m = moment("2011-10-10T10:20:90");
m.isValid(); // false