该功能没有提醒某事

时间:2017-08-26 16:51:57

标签: javascript date alert

使用此代码检查用户是否超过18岁。但该功能仅警告“你不是18岁以上”。控制台

也没有错误

例如: - 23/12/1500 23/12/2008

var dob = document.getElementById("dob").value; 
var jsdate = new Date(dob);
var jsdatearray = jsdate.toString().split("/");
var day = jsdatearray[0];
var month = jsdatearray[1];
var year = jsdatearray[2];

var nowdate = new Date();   
nowdate.setFullYear(year, month - 1, day);

var maxDate = new Date();
maxDate.setYear(maxDate.getYear() - 18);

if (maxDate < nowdate) {
    alert('you are 18+');
}
else {
    alert('you are not 18+');
}

1 个答案:

答案 0 :(得分:0)

代码中有一些问题。首先,日期未正确导入Javascript。其次,检查日期的条件是向后的。下面的代码应该更好。

var dob = document.getElementById("dob").value; 
var jsdatearray = dob.split("-");
var year = jsdatearray[0];
var day = jsdatearray[1];
var month = jsdatearray[2];

var nowdate = new Date();   
nowdate.setFullYear(year, month - 1, day);

var maxDate = new Date();
maxDate.setYear(maxDate.getYear() - 18);
console.log(maxDate < nowdate);

if (maxDate > nowdate) {
    alert('you are 18+');
}
else {
    alert('you are not 18+');
}