<html>
<script language=javascript>
function ages(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)return false;
var birth= new Date(r[1], r[3]-1, r[4]);
if (birth.getFullYear()==r[1]&&(birth.getMonth()+1)==r[3]&&birth.getDate()==r[4])
{
var today = new Date();
var age = today.getFullYear()-r[1];
if(today.getMonth()>birth.getMonth()){
return age;
}
if(today.getMonth()==birth.getMonth()){
if(today.getDate()>=birth.getDate()){
return age;
}else{
return age-1;
}
}
if(today.getMonth()<birth.getMonth()){
return age-1;
}
}
return("输入的日期格式错误!");
}
alert(ages("1989-04-15"));
alert(ages("1989-06-13"));
</script>
</html>
<script language=javascript>
function ages(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)return false;
var birth= new Date(r[1], r[3]-1, r[4]);
if (birth.getFullYear()==r[1]&&(birth.getMonth()+1)==r[3]&&birth.getDate()==r[4])
{
var today = new Date();
var age = today.getFullYear()-r[1];
if(today.getMonth()>birth.getMonth()){
return age;
}
if(today.getMonth()==birth.getMonth()){
if(today.getDate()>=birth.getDate()){
return age;
}else{
return age-1;
}
}
if(today.getMonth()<birth.getMonth()){
return age-1;
}
}
return("输入的日期格式错误!");
}
alert(ages("1989-04-15"));
alert(ages("1989-06-13"));
</script>
</html>
本文介绍了一个使用JavaScript函数计算输入日期对应年龄的方法,包括处理不同日期格式的灵活性,并通过实例演示了如何实现这一功能。
1178

被折叠的 条评论
为什么被折叠?



