使用Java脚本计算年龄 [英] Calculate age using Java script
本文介绍了使用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屋!
查看全文