使用Java脚本计算年龄 [英] Calculate age using Java script

查看:78
本文介绍了使用Java脚本计算年龄的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我正在尝试根据文本框中提供的值来计算一个人的年龄.这是我的代码:

Hello i am trying to calculate the age of a person as per value given in text box. Here is my code:

function calculateage(birthday) 
        {

        var re=/^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d+$/;
        if(birthday.value !='')
        {
        if(re.test(birthday.value))
        {
        birthdayDate=new Date(birthday.value);
        dateNow=new Date();
        var years=dateNow.getFullYear() - birthdayDate.getFullYear();
        var month=dateNow.getMonth() - birthdayDate.getMonth();
        var days=dateNow.getDate() - birthdayDate.getDate();
        if(isNaN(years)){
        document.getElementById('lblage').innerHTML= '';
        document.getElementById('lblerror').innerHTML='Input data is Incorrect';
        return false;
        }
        else
        {
        document.getElementById('lblerror').innerHTML='';
        if(month<0||(month==0 && days < 0))
        {
        years.parseInt(years)-1;
        document.getElementById('lblage').innerHTML=years+'years';

        }
        else
        {
        document.getElementById('lblage').innerHTML=years+ 'years';
        }
        }
        }
        else
        {
        document.getElementById('lblerror').innerHTML='Date must be in mm/dd/yyyy format';
        return false;
        }
        }
        }




这是我的HTML代码




Here is my Html Code

<body>
    <form id="form1" runat="server">
    <div>
    Date of Birth:<asp:TextBox ID="txt1" onblur="calculateage(this)" runat="server">(mm/dd/yyyy)
</asp:TextBox>
    <span style="color:Red">
    <asp:Label ID="lblerror" runat="server"></asp:Label>
    </span>
    <br />
    Age:     :<span id="lblage"></span>
    </div>
    </form>
</body>


但是当我在输入日期之后离开文本框时,它什么也没有给出.
请帮助


But when i leave the textbox after input date, It does not give anything.
Please help

推荐答案

/; 如果(birthday.value!= ' ') { 如果(重新测试(生日值)) { BirthdayDate = 日期(birthday.value); dateNow = 日期(); var years = dateNow.getFullYear()-BirthdayDate.getFullYear(); var month = dateNow.getMonth()-BirthdayDate.getMonth(); var days = dateNow.getDate()-BirthdayDate.getDate(); 如果( isNaN (年)){ 文档 .getElementById(' lblage') .innerHTML = ' '; 文档 .getElementById(' lblerror') .innerHTML = ' 输入数据不正确'; 返回 ; } 其他 { 文档 .getElementById(' lblerror') .innerHTML = ' '; 如果(month< 0 |||(month == 0 && days< 0 )) { parseInt (years)-1; 文档 .getElementById(' lblage') .innerHTML = years + ' years'; } 其他 { 文档 .getElementById(' lblage') .innerHTML = years + ' years'; } } } 其他 { 文档 .getElementById(' lblerror') .innerHTML = ' 日期必须为mm/dd/yyyy格式'返回 ; } } }
/; if(birthday.value !='') { if(re.test(birthday.value)) { birthdayDate=new Date(birthday.value); dateNow=new Date(); var years=dateNow.getFullYear() - birthdayDate.getFullYear(); var month=dateNow.getMonth() - birthdayDate.getMonth(); var days=dateNow.getDate() - birthdayDate.getDate(); if(isNaN(years)){ document.getElementById('lblage').innerHTML= ''; document.getElementById('lblerror').innerHTML='Input data is Incorrect'; return false; } else { document.getElementById('lblerror').innerHTML=''; if(month<0||(month==0 && days < 0)) { years.parseInt(years)-1; document.getElementById('lblage').innerHTML=years+'years'; } else { document.getElementById('lblage').innerHTML=years+ 'years'; } } } else { document.getElementById('lblerror').innerHTML='Date must be in mm/dd/yyyy format'; return false; } } }




这是我的HTML代码




Here is my Html Code

<body>
    <form id="form1" runat="server">
    <div>
    Date of Birth:<asp:TextBox ID="txt1" onblur="calculateage(this)" runat="server">(mm/dd/yyyy)
</asp:TextBox>
    <span style="color:Red">
    <asp:Label ID="lblerror" runat="server"></asp:Label>
    </span>
    <br />
    Age:     :<span id="lblage"></span>
    </div>
    </form>
</body>


但是当我在输入日期之后离开文本框时,它什么也没有给出.
请帮助


But when i leave the textbox after input date, It does not give anything.
Please help


您好,
试试这个,
Javascript:
Hi,
Try this,
Javascript:
function getAge(dateString) {
    var today = new Date();
    var birthDate = new Date(Date.parse(dateString.value, "MM/dd/yyyy"));
    var age = today.getFullYear() - birthDate.getFullYear();
    var m = today.getMonth() - birthDate.getMonth();
    if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
        age--;
    }
    document.getElementById("lblage").innerHTML = age;
}
}


HTML:


HTML:

<form id="form1"  runat="server">
    <div>
        Date of Birth:<asp:TextBox runat="server" ID="txt1" onblur="getAge(this)">MM/dd/yyyy
        </asp:TextBox>
        <span style="color: Red">
            <asp:label id="lblerror" runat="server"></asp:label>
        </span>
        <br />
        Age: :<span id="lblage"></span>
    </div>
    </form>




--Amit




--Amit


这篇关于使用Java脚本计算年龄的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆