<html>
<head>
<script>
function getAgeByBirthday(){
var sBirthday = document.getElementById("birthday").value;
var temp = new Date();
var now = new Date(temp.getFullYear() + "/" + (temp.getMonth() + 1) + "/" + temp.getDate());
alert(temp.getMonth() + 1);
var year = null;
var month = null;
var day = null;
if (sBirthday.length == 6) {//yymmdd
year = parseInt("19" + sBirthday.substring(0,2));
month = sBirthday.substring(2,4);
day = sBirthday.substring(4, 6);
}
else if(sBirthday.length == 8){//yyyymmdd
year = parseInt(sBirthday.substring(0,4));
month = sBirthday.substring(4,6);
day = sBirthday.substring(6, 8);
}
else if(sBirthday.length == 10){//yyyy-mm-dd
year = parseInt(sBirthday.substring(0,4));
month = sBirthday.substring(5,7);
day = sBirthday.substring(8, 10);
}
var age = now.getFullYear() - year;
alert('age1:'+age);
temp = new Date(now.getFullYear() + "/" + month + "/" + day);
if (temp.getTime() > now.getTime()) {//周岁的处理
age = age - 1;
}
document.getElementById("date2").value=age;
}
</script>
</head>
<body>
<from name="theform"> 生日:<input name="birthday" id="birthday" οnblur="getAgeByBirthday()"> 年龄(周岁):<input name="date2" id="date2"> </form>
</body>
</html>
注意:必须到具体的天,才算一岁!
从网上找到其他人的做法:
<html>
<head>
<script>
function getAgeByBirthday(){
var strBirthday = document.getElementById("birthday").value;
var returnAge;
var strBirthdayArr = strBirthday.split("-");
var birthYear = strBirthdayArr[0];
var birthMonth = strBirthdayArr[1];
var birthDay = strBirthdayArr[2];
d = new Date();
var nowYear = d.getYear();
var nowMonth = d.getMonth() + 1;
var nowDay = d.getDate();
if (nowYear == birthYear) {
returnAge = 0;//同年 则为0岁
} else {
var ageDiff = nowYear - birthYear; //年之差
if (ageDiff > 0) {
if (nowMonth == birthMonth) {
var dayDiff = nowDay - birthDay;//日之差
if (dayDiff < 0) {
returnAge = ageDiff - 1;
} else {
returnAge = ageDiff;
}
} else {
var monthDiff = nowMonth - birthMonth;//月之差
if (monthDiff < 0) {
returnAge = ageDiff - 1;
} else {
returnAge = ageDiff;
}
}
} else {
returnAge = -1;//返回-1 表示出生日期输入错误 晚于今天
}
}
document.getElementById("date2").value=returnAge;
}
</script>
</head>
<body>
<from name="theform"> 生日(yyyy-mm-dd):<input name="birthday" id="birthday" οnblur="getAgeByBirthday()"> 年龄:<input name="date2" id="date2"> </form>
</body>
</html>