正在验证javascript格式为d的日期,MMM-yyy

正在验证javascript格式为d的日期,MMM-yyy,javascript,validation,date,Javascript,Validation,Date,如何验证用户输入的日期,以确保输入的日期在可接受的限制范围内 e、 g.日期不超过2月29日,4月、6月和11月30日,1月、3月、5月、7月、8月、10月和12月31日,且不超过12个月 我尝试添加条件,&&对我来说根本不起作用,因为它总是返回错误 我的javascript函数如下所示: function parseDate(s) { var dP = s.split("/"); var date = new Date(dP[2], (dP[1] - 1), dP[0]); var dat

如何验证用户输入的日期,以确保输入的日期在可接受的限制范围内 e、 g.日期不超过2月29日,4月、6月和11月30日,1月、3月、5月、7月、8月、10月和12月31日,且不超过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事件中

没有日期的提交按钮

谢谢

使用isNaN检查Date.parse


编辑

使用Date.parse如何?如果是d格式,MMM yyyy,为什么要在/上拆分它,该日期格式中没有/?嗨@adeneo,你能给我建议一些东西来替换它吗?我早些时候从另一个用户那里得到了代码,它工作得很好,因此我没有想过对它进行任何修改:我不知道,如果它工作的话,它工作的话,只是奇怪的是,你说你有一个该格式的日期,然后你在/上拆分,而该格式不包含这样的字符?嗯,它不会影响我的代码的工作方式,我想让它保持原样是可以的!:@adeneoHi@jhyap,不幸的是,如果我输入了一个无效的日期,它只会添加到当前日期上,并且仍然会生成一个日期,因此结果永远不会是“NaN”,所以我相信我必须为它设置一个条件。但是我不知道为什么系统不接受&&运算符。你知道如何设置其他条件吗?非常感谢你,你帮了我很多忙!你在我的另一个acc中帮助了我,但我昨天无法登录。我的电子邮件有一些问题。qn的第二部分是你昨天帮助我的@jhyapI看不到你问题的线索。我猜你想说的是,当用户输入2014年2月31日时,它会提示错误消息,对吗?是的,但在文本框中,而不是在@jhyap发出警报
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"));