在Javascript中显示来自DoB输入的年龄

在Javascript中显示来自DoB输入的年龄,javascript,html,Javascript,Html,我正在尝试用html/javascript创建一个表单,用户可以在其中输入他们的出生日期,然后显示一条消息,使用他们出生日期的数据说明你是“x”岁。然而,我完全不确定如何让这项工作 以下是我目前拥有的代码: HTML: 我意识到这显示你现在已经“dd-mm-yyyy”岁了,但这就是我所能做的 任何帮助都将不胜感激!谢谢你可以从现在的日期减去出生日期来计算年龄 请看这个 根据page,以下是从指定日期检索年龄的固定代码: 功能提交第一天{ var分钟=1000*60; var小时=分钟*60;

我正在尝试用html/javascript创建一个表单,用户可以在其中输入他们的出生日期,然后显示一条消息,使用他们出生日期的数据说明你是“x”岁。然而,我完全不确定如何让这项工作

以下是我目前拥有的代码:

HTML:

我意识到这显示你现在已经“dd-mm-yyyy”岁了,但这就是我所能做的


任何帮助都将不胜感激!谢谢

你可以从现在的日期减去出生日期来计算年龄

请看这个

根据page,以下是从指定日期检索年龄的固定代码:

功能提交第一天{ var分钟=1000*60; var小时=分钟*60; var天数=小时*24; var年=天*365; var birthday=Date.parsedocument.getElementByIdmyBirthday.value; var dateNow=新日期; var yearsell=Math.rounddateNow-birth/年; document.getElementByIddisplayBirthday.innerHTML=您是+岁+岁。; } 提交
这是你可以用来获取出生日期的代码

var input = '5/1/1991';// Find the user's input
    var dob = input.split('/'); // split the date by separator
    //console.log(dob);
    var bd = dob[0];// find birth date, month and year
    var bm = dob[1];
    var by = dob[2];

    var curDate = new Date();// find current date
    var cd = curDate.getDate();
    var cm = parseInt(curDate.getMonth(), 10) + 1;
    var cy = curDate.getFullYear();
    //console.log(cd, cm, cy);

    if (cd < bd) {
        var dayToMinus;
        switch(cm) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                dayToMinus = 31;
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                dayToMinus = 30;
                break;
            case 2:
                if (cy % 4) {
                    dayToMinus = 28;
                } else {
                    dayToMinus = 29;
                }
        }
        cd = cd + dayToMinus;
        cm = cm - 1;
    }

    if (cm < bm) {
        cm = cm + 12;
        cy = cy - 1;
    }
    console.log("You are "+ (cy - by) +" years "+ (cm - bm) + " months "+ (cd - bd) + " days old");//This will console ur age

请在第一天提交您迄今为止尝试过的内容{var birthday=document.getElementByIdmyBirthday.value;document.getElementByIddisplayBirthday.innerHTML=您是+生日+岁。.我意识到这显示您当前是'dd-mm-yyyy'岁,但这是我所能做的一切。请在此提供解决方案。您的链接将来可能会断开。它很可能不会断开。
function submitBirthday() {
    var birthday = document.getElementById("myBirthday").value;
    document.getElementById("displayBirthday").innerHTML = ("You are " + birthday + " years old.");
}
var input = '5/1/1991';// Find the user's input
    var dob = input.split('/'); // split the date by separator
    //console.log(dob);
    var bd = dob[0];// find birth date, month and year
    var bm = dob[1];
    var by = dob[2];

    var curDate = new Date();// find current date
    var cd = curDate.getDate();
    var cm = parseInt(curDate.getMonth(), 10) + 1;
    var cy = curDate.getFullYear();
    //console.log(cd, cm, cy);

    if (cd < bd) {
        var dayToMinus;
        switch(cm) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                dayToMinus = 31;
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                dayToMinus = 30;
                break;
            case 2:
                if (cy % 4) {
                    dayToMinus = 28;
                } else {
                    dayToMinus = 29;
                }
        }
        cd = cd + dayToMinus;
        cm = cm - 1;
    }

    if (cm < bm) {
        cm = cm + 12;
        cy = cy - 1;
    }
    console.log("You are "+ (cy - by) +" years "+ (cm - bm) + " months "+ (cd - bd) + " days old");//This will console ur age