...
大前端

js 怎么判定一个日期是否是正确的日期?

方法一:Date 对象和 isNaN

使用 Date 对象来尝试创建日期,然后检查是否为 NaN(非数字)。

function isValidDate(date) {
    const parsedDate = new Date(date);
    return parsedDate instanceof Date && !isNaN(parsedDate);
}

console.log(isValidDate("2023-12-01")); // true
console.log(isValidDate("invalid-date")); // false

方法二:正则表达式

可以用正则表达式来验证日期格式(例如 YYYY-MM-DD、DD/MM/YYYY)。

function isDateString(dateStr) {
    const datePattern = /^\d{4}-\d{2}-\d{2}$/;  // 示例: YYYY-MM-DD 格式
    return datePattern.test(dateStr);
}

console.log(isDateString("2023-12-01")); // true
console.log(isDateString("12/01/2023")); // false

方法三:结合 isDateStringisValidDate

可以先用正则表达式检查格式,再用 isValidDate 检查是否为有效日期。

function isDate(dateStr) {
    const datePattern = /^\d{4}-\d{2}-\d{2}$/;  // YYYY-MM-DD 格式
    if (!datePattern.test(dateStr)) return false;
    return isValidDate(dateStr);
}

console.log(isDate("2023-12-01")); // true
console.log(isDate("12/01/2023")); // false

方法四:使用 moment.js

如果项目中使用了 moment.js,可以更方便地判断日期:

// 引入 moment.js
// const moment = require('moment');  // 适用于 Node.js 环境
function isMomentDate(dateStr) {
    return moment(dateStr, "YYYY-MM-DD", true).isValid();
}

console.log(isMomentDate("2023-12-01")); // true
console.log(isMomentDate("12/01/2023")); // false
使用chrome调试手机微信内置浏览器 前端禁用微信浏览器字体调整,用户设置了系统字体大小,导致微信内嵌h5页面字体大小改变
biu biu biu
github无法访问,访问速度慢解决 常用的前端JavaScript方法封装 12个有用的JavaScript数组技巧 Windows 10系统连接共享打印机报错0x00000709、0x0000007c、0x0000011b Android Java ASE加解密与PHP AES加解密