我已经写了一个javascript条件来检查日期条件。
我的要求是什么,我有两个textbox
我在其中添加了日期,而我想要检查的是。
我输入文本框的日期不应大于当前日期。
我已尝试过以下代码,但它接受的日期大于系统日期。
var todayDate = new Date();
var todayMonth = todayDate.getMonth() + 1;
var todayDay = todayDate.getDate();
var todayYear = todayDate.getFullYear();
var todayDateText = todayMonth + "/" + todayDay + "/" + todayYear;
var Dt1 = document.getElementById('txtFormDt').value;
var Dt2 = document.getElementById('txtToDt').value;
if (todayDateText > Dt1)
{
alert("System Date Should be grater than From Date");
}
if (todayDateText > Dt2) {
alert("System Date Should be grater than To Date");
}
if (Dt2 < Dt1) {
alert("To Date Should be grater than From Date");
return false;
}
return true;
}
答案 0 :(得分:1)
您可以使用<
,>
,>=
和<=
运算符直接比较日期对象,但不能==
或===
也是对象。但是,请确保正确解析输入中的值,例如
function checkDate(el) {
var form = el.form;
var now = new Date();
var date = parseMDY(form.startDate.value);
form.parsedDate.value = date;
if (!date || isNaN(+date)) {
form.result.value = "Invalid date";
} else {
form.result.value = date < now;
}
}
// Parse string in m/d/y format
// Returns invalid date if month or day out of range
function parseMDY(s) {
var b = s.split(/\D/);
var d = new Date(b[2], --b[0], b[1]);
return d && d.getMonth() == b[0]? d : new Date(NaN);
}
<form id="f0">
Insert date (m/d/y)<input type="text" name="startDate">
<input type="button" onclick="console.log(checkDate(this));" value="Check date">
<br>
Input date: <input name="parsedDate" readonly size="50">
<br>
Before today?<input name="result">
</form>