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

时间:2015-01-27 13:53:47

标签: javascript jquery date

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

它必须是纯整数和绝对验证日期。例如,2015001120150230无效。

我目前的做法只是将字符串拆分为yearmonthday,然后尝试自行验证。例如,month必须在[1,12]等内。

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

如何完美地完成此验证?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

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