如何通过从表单中的用户输入中检索数据来计算当前年龄?

问题描述 投票:0回答:1

我的表单页面(HTML)需要用户的DOB。格式为:dd-mm-yyyy,数据类型为文本。例如1990年4月21日是21-04-1990。我的作业要求用户必须年龄超过18岁,但年龄不能超过80岁。

我的Javascript需要读取用户的输入并计算当前日期减去用户的输入以检查年龄是否合格。

我希望DOB的输出允许或限制表单的页面。

年龄=当前日期 - 用户的DOB如果年满18周岁则转到下一页,如果小于18则拒绝。如果年满80岁,则无法前进到下一页。

javascript html5
1个回答
0
投票

关于更改日期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">

还有read for more info

© www.soinside.com 2019 - 2024. All rights reserved.