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

时间:2019-04-21 11:39:58

标签: javascript html5

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

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

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

年龄=当前日期-用户的DOB 如果年满18岁,请转到下一页;如果年满18岁,请拒绝。 如果年龄在80岁或以上,则无法进入下一页。

1 个答案:

答案 0 :(得分: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