检测字符串是否可以转换为日期

osh*_*nen 1 javascript datetime date

目前,我正在使用:

var d = new Date("March 7 2012");
document.write(d.getMonth() + 1);
Run Code Online (Sandbox Code Playgroud)

如果日期字符串是奇怪的东西,例如No Date:

var d = new Date("No Date"); // anything which isn't recognisable as a date
document.write(d.getMonth() + 1);
Run Code Online (Sandbox Code Playgroud)

我得到的输出是 NaN

如果出现类似情况,如何显示更好的消息

Cur*_*urt 7

您可以检查该值是不NaN使用isNaN:

    if (isNaN(d.getMonth())) {
       //value is not a date
    }
    else
    {
       document.write(d.getMonth() + 1);
    }
Run Code Online (Sandbox Code Playgroud)