📅  最后修改于: 2023-12-03 15:26:50.397000             🧑  作者: Mango
Javascript 中,如果输入的日期不符合标准日期格式,那么它将被视为无效日期。这可能会导致代码问题和异常。
为了避免这种情况,我们可以使用正则表达式来检测无效日期。
下面是一个简单的正则表达式,可以用来检测无效日期:
function isInvalidDate(dateString) {
var regEx = /^\d{4}-\d{2}-\d{2}$/;
return !dateString.match(regEx);
}
console.log(isInvalidDate("2019-01-01")); // false
console.log(isInvalidDate("2019/01/01")); // true
此正则表达式要求日期字符串的格式为 YYYY-MM-DD
。如果日期不符合此格式,则返回 true
,否则返回 false
。
上述正则表达式只检测日期字符串的格式是否正确,但无法确保该日期是否实际存在。
为了更严格地检测日期的有效性,我们可以使用 Date
对象,并将其传递给 isNaN()
方法,它将返回一个布尔值,表示该日期是否有效。
function isInvalidDate(dateString) {
var date = new Date(dateString);
return isNaN(date.getTime());
}
console.log(isInvalidDate("2019-01-01")); // false
console.log(isInvalidDate("2019/01/01")); // true
此方法可以确保该日期在日历上确实存在,并避免由于格式问题而导致的异常。
在 Javascript 中,我们可以使用正则表达式来检测日期字符串的格式是否正确,以避免无效日期的问题。如果需要更严格的检测,则可以使用 Date
对象,并将其传递给 isNaN()
方法。