贴代码,拿上就可以直接使用:
通过这个函数,稍微修改下,还可以根据身份证号,获取年纪
1 /**
2 * 根据身份证号得到姓别和精确计算年龄
3 */
4 function analyzeIDCard(IDCard){
5 //获取用户身份证号码
6 var userCard = IDCard;
7 //如果身份证号码为undefind则返回空
8 if(!userCard){
9 return false;
10 }
11 //获取出生年月日
12 var yearBirth = userCard.substring(6,10);
13 var monthBirth = userCard.substring(10,12);
14 var dayBirth = userCard.substring(12,14);
15 //获取当前年月日并计算年龄
16 var myDate = new Date();
17 var monthNow = myDate.getMonth() + 1;
18 var dayNow = myDate.getDate();
19 var age = myDate.getFullYear() - yearBirth;
20 if(monthNow < monthBirth || (monthNow == monthBirth && dayNow < dayBirth)){
21 age--;
22 }
23 if (age >= 18) { return true; }
24 return false;
25 }
说明:
这个是从网上找的代码,自己稍微修改了一下。
网上的代码有个错误,获取日期的时候用的 myDate.getDay()
getDay() 这个是获取星期的 0-6,不是获取日期的。
getDate() 这个才是获取 日期的