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

JavaScript017

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

写了个简单的测试,

<script>

var m=new Date()

m.setFullYear(2010,10,14)

var age=0

var d = new Date()

var year = d.getFullYear()

var month = d.getMonth() + 1

var day = d.getDate()

alert(year+"-"+month+"-"+day)

if(year>m.getFullYear()){

if(month>=m.getMonth() + 1){

if(day>=m.getDate()){

age=parseInt(year-m.getFullYear())

}else{

age=parseInt(year-m.getFullYear()-1)

}

}else{

age=parseInt(year-m.getFullYear()-1)

}

}else{

alert("0")

}

alert("age="+age)

</script>

//你也可以把以上内容写入方法,出生日期的年月日作为参数传入。注意,月份的算法

按照你的要求,使用正则匹配12-120(包括12和120)的数字。代码如下:

var reg = /^1{1}[2-9]{1}$|^[2-9]{1}[0-9]{1}$|^1{1}[0-1]{1}[0-9]{1}$|^120$/

已经使用for循环验证了1-10000的数字。只有12-120被匹配。其他都不匹配。

但是,非常不建议使用正则,已经明确了区间的应该使用if语句来判断。

if(x>=12 && x<=120)

这样一个很短的if语句。就可以识别x是否为12-120的区间了。用正则需要判断的可能性变多了。

var age=prompt('请输入你的年龄','15')///默认15岁

var msg=''

if (age>=24&&age<60) msg='青年'

else if (age>=60) msg='老年'

else if (age <14 &&age>0) msg='儿童'

else if(age >=14&&age <24) msg='青少年'

else msg='输入错误'

document.write(msg)//输出

我只有这个法子了,望赐教