使用格式d,MMM yyyy验证javascript中的日期

时间:2014-06-09 07:37:55

标签: javascript validation date

如何验证用户输入的日期以确保输入的日期在可接受的限制范围内 (例如 feb 的日期不超过 29 apr,jun和nov 30 31 jan,mar,may,jul,aug,oct和dec )以及不超过 12 的月份?

我尝试添加条件而&& 对我来说根本不起作用,因为它总是会返回错误。

我的javascript功能如下:

function parseDate(s)
{
var dP = s.split("/");

var date = new Date(dP[2], (dP[1] - 1), dP[0]);

var dateStrParts = date.toString().split(" ");

return (date.getDate() + ", " + dateStrParts[1] + " " + dateStrParts[3]);
}

我目前有一个 onchange ,它会将月份数转换为用户输入的月份名称,我相信我需要添加另一个功能进行验证。

因此,我如何编写验证功能以及如何将其添加到 onchange 事件中?

日期没有提交按钮。

谢谢!

1 个答案:

答案 0 :(得分:0)

使用isNaN检查Date.parse()

function parseMyDate(s){

    if (isNaN(Date.parse(s))){
        alert("Your input has no logic at all");
        return;
    }

    var dateParts = s.split("/");

    var date = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);

    var dateStrParts = date.toString().split(" ");

    return (date.getDate() + ", " + dateStrParts[1] + " " + dateStrParts[3]);
}

console.log(parseMyDate("31/02/2014"));

编辑 JSFiddle Demo