检查给定的字符串是否为日期对象

Pra*_*ntJ 9 javascript jquery

我需要检查给定的字符串是否是日期对象.

最初我用过

 Date.parse(val)
Run Code Online (Sandbox Code Playgroud)

如果你检查Date.parse("07/28/2014 11:23:29 AM"),它会工作.
但是,如果你检查Date.parse("hi there 1"),它也会工作,但不应该.

所以我改变了我的逻辑

val instanceof Date 
Run Code Online (Sandbox Code Playgroud)

但对于我的上述日期字符串,"07/28/2014 11:23:29 AM" instanceof Date它返回false.

那么,有什么办法可以让我在日期中适当地验证我的字符串?

Bhu*_*kar 7

您可以使用Date.parse下面的代码来检查它是否是日期.Date.parse()返回号码,如果有效日期,否则'NaN' -

var date = Date.parse(val);
if(isNaN(date))
 alert('This is not date');
else
 alert('This is date object');
Run Code Online (Sandbox Code Playgroud)

有关更多信息 - Date Parse()

  • isNaN(Date.parse("hi there 1"))返回`false`! (2认同)
  • 一个数字不会返回一个数字吗?“89”不是约会 (2认同)

Nee*_*bey 2

function isDate(val) {
    var d = new Date(val);
    return !isNaN(d.valueOf());
}
Run Code Online (Sandbox Code Playgroud)

希望对你有帮助

  • `!isNaN(new Date("Hacker%1337"))` 返回 `true` (6认同)