贴代码,拿上就可以直接使用:
通过这个函数,稍微修改下,还可以根据身份证号,获取年纪
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() 这个才是获取 日期的