Javascript Firefox和Chrome似乎再次以不同的方式解析日期

Javascript Firefox和Chrome似乎再次以不同的方式解析日期,javascript,google-chrome,firefox,Javascript,Google Chrome,Firefox,所以我的问题是: new Date('01/32/1980') //January 32, 1980 (invalid) 在Chrome中运行此javascript会导致“无效日期” 在Firefox中运行此javascript的日期为1980年2月1日 我看到过很多问题,人们在浏览器之间使用javascript日期解析器时会遇到不同的问题,但这不是一个具体的例子 我需要在javascript中验证日期,但类似的内容在浏览器之间无法正常工作: if(isNaN(new Date('1/32/

所以我的问题是:

new Date('01/32/1980') //January 32, 1980 (invalid)
在Chrome中运行此javascript会导致“无效日期”
在Firefox中运行此javascript的日期为1980年2月1日

我看到过很多问题,人们在浏览器之间使用javascript日期解析器时会遇到不同的问题,但这不是一个具体的例子

我需要在javascript中验证日期,但类似的内容在浏览器之间无法正常工作:

if(isNaN(new Date('1/32/1980').getTime())){
    //I expect this to be a valid date
}else{
    //I expect this to be an invalid date
}
它们是Chrome解析“1/32/1980”的方式,这是一个无效的日期,该代码可以工作并放入else块。在这个完全相同的场景中,Firefox显示valid,并进入valid部分


我是否遗漏了什么,是否有更好的方法验证此字符串

正则表达式的潜在回答非常混乱,仍然不能完全涵盖这一点

我使用JQuery提供了一个更干净的解决方案:

$.datepicker.parseDate('mm/dd/yy','1/32/1980')
我只是这样把它包起来:

function isValidDate(strDate, strDateFormat){
    try{
        $.datepicker.parseDate(strFormat, strDate);
    } catch (e) {
        return false;
    }
    return true;
}

Jquery将在所有浏览器中引发“无效日期”异常。这正是我所需要的。当然,这是用于小部件的,但它的逻辑经过了社区的严格测试。

正则表达式的潜在回答非常混乱,仍然不能完全涵盖这一点

我使用JQuery提供了一个更干净的解决方案:

$.datepicker.parseDate('mm/dd/yy','1/32/1980')
我只是这样把它包起来:

function isValidDate(strDate, strDateFormat){
    try{
        $.datepicker.parseDate(strFormat, strDate);
    } catch (e) {
        return false;
    }
    return true;
}
Jquery将在所有浏览器中引发“无效日期”异常。这正是我所需要的。当然,这是用于小部件的,但它的逻辑经过了社区的严格测试。

查看此问题:查看此问题:查看此问题: