本文介绍如何使用JavaScript验证YYYY-MM-DD格式的日期。通过正则表达式匹配格式,并利用Date对象解析日期进行逻辑校验,确保年月日数值真实有效。代码包含错误提示与输入重置功能,适用于前端表单验证场景。
JavaScript实现YYYY-MM-DD日期格式校验
代码如下:
function checkInputDate(obj) {
var strDate = obj.value;
var re = /^(\d{4})-(\d{2})-(\d{2})$/;
if (re.test(strDate)) // 判断日期格式符合 YYYY-MM-DD 标准
{
var dateElement = new Date(RegExp.$1, parseInt(RegExp.$2, 10) - 1, RegExp.$3);
if (!((dateElement.getFullYear() == parseInt(RegExp.$1)) && ((dateElement.getMonth() + 1) == parseInt(RegExp.$2, 10)) && (dateElement.getDate() == parseInt(RegExp.$3)))) // 判断日期逻辑
{
document.getElementById("errorMessage").innerText = "You can only input Date.(YYYY-MM-DD) !";
document.getElementById("error").style.display = "";
obj.value = ' ';
}
} else {
document.getElementById("errorMessage").innerText = "You can only input Date.(YYYY-MM-DD)!";
document.getElementById("error").style.display = "";
obj.value = '';
}
}