在JavaScript中,判断一个字符串是否符合yyyy-mm-dd
格式,可以通过正则表达式来实现。以下是一个示例代码:
function isValidDate(dateString) {
const regex = /^\d{4}-\d{2}-\d{2}$/;
if (!regex.test(dateString)) {
return false;
}
const dateParts = dateString.split('-');
const year = parseInt(dateParts[0], 10);
const month = parseInt(dateParts[1], 10);
const day = parseInt(dateParts[2], 10);
if (month < 1 || month > 12) {
return false;
}
const daysInMonth = new Date(year, month, 0).getDate();
if (day < 1 || day > daysInMonth) {
return false;
}
return true;
}
// 示例用法
console.log(isValidDate('2023-10-05')); // true
console.log(isValidDate('2023-13-05')); // false
console.log(isValidDate('2023-10-32')); // false
console.log(isValidDate('2023/10/05')); // false
/^\d{4}-\d{2}-\d{2}$/
^
表示字符串的开始。\d{4}
表示四位数字(年份)。-
表示一个连字符。\d{2}
表示两位数字(月份)。-
表示一个连字符。\d{2}
表示两位数字(日期)。$
表示字符串的结束。split('-')
将日期字符串分割成年、月、日三个部分。new Date(year, month, 0).getDate()
获取该月的天数,并检查日期是否在1到该月天数之间。通过这种方式,可以有效地判断一个字符串是否符合yyyy-mm-dd
格式,并且确保日期的有效性。
领取专属 10元无门槛券
手把手带您无忧上云