我的表单页面(HTML)需要用户的DOB。格式为:dd-mm-yyyy,数据类型为文本。例如1990年4月21日是21-04-1990。我的作业要求用户必须年龄超过18岁,但年龄不能超过80岁。
我的Javascript需要读取用户的输入并计算当前日期减去用户的输入以检查年龄是否合格。
我希望DOB的输出允许或限制表单的页面。
年龄=当前日期 - 用户的DOB如果年满18周岁则转到下一页,如果小于18则拒绝。如果年满80岁,则无法前进到下一页。
关于更改日期please read here的格式
function get_age(born, now) {
var birthday = new Date(now.getFullYear(), born.getMonth(), born.getDate());
if (now >= birthday)
return now.getFullYear() - born.getFullYear();
else
return now.getFullYear() - born.getFullYear() - 1;
}
document.getElementById("dateInput").addEventListener("change", function() {
var input = this.value;
var dateEntered = new Date(input);
var now = new Date();
var birthdate = input.split("-");
var born = new Date(birthdate[0], birthdate[1]-1, birthdate[2]);
age=get_age(born,now);
console.log(birthdate[2]+" : "+birthdate[1]+" : "+birthdate[0]);
console.log(age);
if (age<=18)
{
alert("Input Error - Age should be greater then or equal to 18");
return false;
}
});
Birthday: <input type="date" id="dateInput" name="bday">