我有一个文本框,用户应该输入格式为 mm/dd/yyyy 的日期。我正在尝试确保是这种情况,并且它们不会传入字符串。由于我在下面的代码中使用 new Date() 我可以理解 startDate/endDate 是日期,即使它们是无效的......所以基本上我正在寻找正确的方法来进行此验证
function calculate() {
var start = document.getElementById("start").value;
var end = document.getElementById("end").value;
var startDate = new Date(Date.parse(start));
var endDate = new Date(Date.parse(end));
var daysBetween = parseInt((endDate - startDate)/(24*3600*1000));
var er = document.getElementById("errorResult");
if(!(startDate instanceof Date) || !(endDate instanceof Date)) {
er.innerHTML = "Dates must be of the form mm/dd/yyyy";
return;
} else if (endDate<startDate) {
er.innerHTML = "End date must be after start date!";
return;
} else {
er.innerHTML = "";
}