📅  最后修改于: 2023-12-03 15:32:23.845000             🧑  作者: Mango
有时候,我们需要在Javascript中检查日期是否有效。无效日期是指不可能存在的日期,例如:2019年2月29日(平年不存在这个日期)或2019年13月1日(一年只有12个月)。本文将介绍如何在Javascript中检查无效日期。
我们可以使用Javascript的Date对象来检查日期是否有效。当日期无效时,Date对象会自动将其转换为另一个日期。因此,我们可以使用以下代码来检查日期是否有效:
function isValidDate(dateString) {
// 实例化一个Date对象
var d = new Date(dateString);
// 检查日期是否相同
return dateString === d.toISOString().slice(0, 10);
}
这个函数接受一个日期字符串作为参数,并实例化一个Date对象。然后,它检查Date对象是否已经转换为另一个日期。如果是,说明原始日期无效,函数将返回false。否则,函数将返回true。
我们也可以使用正则表达式来检查日期是否有效。以下是一个可以检查日期是否有效的正则表达式:
function isValidDate(dateString) {
var regEx = /^\d{4}-\d{2}-\d{2}$/;
if(!dateString.match(regEx)) return false; // Invalid format
var d = new Date(dateString);
var dNum = d.getTime();
if(!dNum && dNum !== 0) return false; // NaN value, Invalid date
return d.toISOString().slice(0, 10) === dateString;
}
这个函数接受一个日期字符串作为参数,并使用正则表达式来检查该字符串是否具有YYYY-MM-DD格式。如果字符串无效,则函数返回false。否则,函数使用Date对象来检查日期是否有效。最后,函数将返回true或false,具体取决于日期是否有效。
使用以上两种方法之一可以检查日期是否有效。通过使用这些方法,我们可以确保日期字符串包含有效数据。