【Js】检查Date对象是否为Invalid Date

简介: 【Js】检查Date对象是否为Invalid Date

使用Date()构造日期对象,如果传入非日期格式或者错误的日期格式的字符串,仍然能构造出Date对象。

   var date = new Date("dream");
    console.log('date:', date);  //Invalid Date
    console.log('date:', typeof date);  //“object”
    console.log('date:', date instanceof Date);  //true
     
     
    var date2 = new Date("2019-053");
    console.log('date2:', date2);  //Invalid Date
    console.log('date2:', typeof date2);  //“object”
    console.log('date2:', date2 instanceof Date);  //true

示例里使用非日期格式"dream"(错误日期格式“2019-053”)构造Date对象

   直接输出date,结果为Invalid Date

   使用typeof判断date的类型,得到结果为“object”

   使用instanceof检测date是否为Date类型,结果为true。

使用Date的getTime()方法,Invalid Date对象返回的是一个NaN,可以利用这点来检查Date对象是否为Invalid Date。

function isValidDate(date) {
      return date instanceof Date && !isNaN(date.getTime())
    }
     
    // 也可以
    //  function isValidDate(date) {
    //    return date instanceof Date && !isNaN(date.valueOf())
    //  }
     
    var date = new Date("dream");
    console.log('结果',isValidDate(date)); //false
     
    var date2 = new Date("2019-053");
    console.log('结果',isValidDate(date2)); //false
     
    var date3 = new Date("2019-05-09");
    console.log('结果',isValidDate(date3)); //true
     
相关文章
|
1天前
|
Web App开发 JavaScript 前端开发
JavaScript 中的 Range 和 Selection 对象
JavaScript 中的 `Range` 和 `Selection` 对象用于处理文本选择。`Range` 表示文档中选定的区域,而 `Selection` 表示用户选择的文本或光标位置。`Range` 可以创建并设置于任何元素或文本,具有多个属性(如 `startContainer`, `endContainer`, `collapsed`)和方法(如 `cloneContents`, `deleteContents`)。`Selection` 提供了获取和操作用户选择的方法,如 `anchorNode`, `focusNode` 和 `addRange`。两者在所有现代浏览器中基本兼容。
5 1
JavaScript 中的 Range 和 Selection 对象
|
2天前
|
JSON JavaScript 安全
向js发送含有NSDictionary对象或NSArray对象的消息
向js发送含有NSDictionary对象或NSArray对象的消息
10 0
|
3天前
|
前端开发 JavaScript
前端 JS 经典:判断对象属性是否存在
前端 JS 经典:判断对象属性是否存在
8 0
|
6天前
|
JSON 前端开发 JavaScript
前端 JS 经典:JSON 对象
前端 JS 经典:JSON 对象
10 0
|
6天前
|
前端开发 JavaScript
前端 js 经典:Date
前端 js 经典:Date
12 2
|
6天前
|
前端开发 JavaScript
前端 js 经典:原型对象和原型链
前端 js 经典:原型对象和原型链
16 1
|
7天前
|
JavaScript 前端开发 流计算
使用JavaScript 中的Math对象和勾股定理公式,计算鼠标的位置与页面图片中心点的距离,根据距离对页面上的图片进行放大或缩小处理
使用JavaScript 中的Math对象和勾股定理公式,计算鼠标的位置与页面图片中心点的距离,根据距离对页面上的图片进行放大或缩小处理
|
7天前
|
JSON JavaScript 前端开发
js将json字符串还原为json对象
【5月更文挑战第14天】js将json字符串还原为json对象
30 1
|
7天前
|
设计模式 存储 消息中间件
JavaScript观察者模式:实现对象间的事件通信!
JavaScript观察者模式:实现对象间的事件通信!
|
7天前
|
设计模式 JavaScript 前端开发
JavaScript原型模式:实现对象共享属性和方法!
JavaScript原型模式:实现对象共享属性和方法!