根据出生日期计算年龄JS代码修正,求助

JavaScript015

根据出生日期计算年龄JS代码修正,求助,第1张

通过函数代码如下:

function computeAge(startDate) {

// 获得今天的时间

var date = new Date()

startDate = new Date(startDate)

var newDate = date.getTime() - startDate.getTime()

// 向下取整 例如 10岁 20天 会计算成 10岁

// 如果要向上取整 计算成11岁,把floor替换成 ceil

return Math.floor(newDate / 1000 / 60 / 60 / 24 / 365)

}

alert(computeAge('1989-02-19'))

就可以了。

function geb(obj)

{

return document.getElementById(obj)//引入对象ID,返回某个对象

}

function tmValue(obj)

{

return geb(obj)[geb(obj).selectedIndex].value//引入select的ID,返回select的已选中的项的value值

}

function retAge()

{

var

year=tmValue('optionYear')*1,//取得选中年份的值,并转换为数字

month=tmValue('optionMonth')*1,//取得选中月份的值,并转换为数字

day=tmValue('optionDay')*1//取得选中日的值,并转换为数字

var

birthday=new data(),now=birthday//声明个生日日期变量和现在日期变量,此时两个变量都是现在的系统时间

birthday.setFullYear(year,month,day)//将年月日付给生日日期变量

var fulltime=now-birthday//得到两个日期所距离的毫秒数

//楼下说的很对,要考虑月份,所以我对我的代码作出如下调整

var age=now.getFullYear() - fulltime.getFullYear()//返回距离年

if((now.getMonth()-birthday.getMonth())>0)age+1//如果现在的月份比生日月份大,年龄变量加1

return age//返回计算后的年龄

// return fulltime /1000/60/60/24返回距离多少天

//还有你上面的input 没有 type='text'

//因为是手写的代码,所以可能存在大小写错误,自己改下

}

这个自己写就是了,下面是大概的规则

18位身份证

前1~2位数字表示:所在省份的代码;

第3~4位数字表示:所在城市的代码;

第5~6位数字表示:所在区县的代码;

第7~14位数字表示:出生年、月、日;

第15~16位数字表示:所在地的派出所的代码;

第17位数字表示性别:奇数表示男性,偶数表示女性;

15位差距不大

前1~2位数字表示:所在省份的代码;

第3~4位数字表示:所在城市的代码;

第5~6位数字表示:所在区县的代码;

第7、8位为出生年份(两位数)

第9、10位为出生月份

第11、12位代表出生日期

第15位代表性别,奇数为男,偶数为女