我必须在 ASP 中验证并检查用户是否未成年。因此,1998 年 1 月 7 日以下的任何人都属于未成年人。我有 3 个下拉列表来选择日期、月份和年份。我正在使用 JS。我尝试使用 concat 和 split 但它们不起作用。谁能帮忙解决这个问题吗?
function ValidateDate() {
var dDay = document.getElementById('DateList');
var dMonth = document.getElementById('MonthList');
var dYear = document.getElementById('YearList');
var day = dDay.selectedIndex;
var month = dMonth.selectedIndex;
var year = dYear.selectedIndex;
var firstValue = year + month + day;
var setyear = "1998";
var setmonth = "06";
var setdate = "01";
var secondValue = setyear + setmonth + setdate;
var firstDate = new Date();
firstDate.setFullYear(firstValue[0], (firstValue[1] - 1), firstValue[2]);
var secondDate = new Date();
secondDate.setFullYear(secondValue[0], (secondValue[1] - 1), secondValue[2]);
if (firstDate > secondDate) {
alert("Pass");
}
else {
alert("Fail");
}
}
<asp:CustomValidator ID="CustomValidatorDate" runat="server"
ErrorMessage=" You are underage" CssClass="error" Display="Dynamic" ClientValidationFunction="ValidateDate" ></asp:CustomValidator>
最佳答案
首先,您的日、月和年变量正在读取下拉列表的索引,而不是它们的值。
例如,您需要使用:
var day = dDay.value,
month = dMonth.value,
year = dYear.value;
然后创建日期对象为
var firstDate = new Date(year, month, day);
-迪彭
关于javascript - JS中的日期函数,与设置的日期进行比较不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25473134/