1 /** 2 * 根據身份證號獲得姓別和精確計算年齡 3 */ 4 function analyzeIDCard(IDCard){ 5 var sexAndAge = {}; 6 //獲取用戶身份證號碼 7 var userCard = IDCard; 8 //若是身份證號碼爲undefind則返回空 9 if(!userCard){ 10 return sexAndAge; 11 } 12 //獲取性別 13 if(parseInt(userCard.substr(16,1)) % 2 == 1){ 14 sexAndAge.sex = '1(男)' 15 }else{ 16 sexAndAge.sex = '0(女)' 17 } 18 //獲取出生年月日 19 //userCard.substring(6,10) + "-" + userCard.substring(10,12) + "-" + userCard.substring(12,14); 20 var yearBirth = userCard.substring(6,10); 21 var monthBirth = userCard.substring(10,12); 22 var dayBirth = userCard.substring(12,14); 23 //獲取當前年月日並計算年齡 24 var myDate = new Date(); 25 var monthNow = myDate.getMonth() + 1; 26 var dayNow = myDate.getDay(); 27 var age = myDate.getFullYear() - yearBirth; 28 if(monthNow < monthBirth || (monthNow == monthBirth && dayNow < dayBirth)){ 29 age--; 30 } 31 //獲得年齡 32 sexAndAge.age = age; 33 //返回性別和年齡 34 return sexAndAge; 35 } 36 37 /*測試*/ 38 var ID = analyzeIDCard('510612199004174732'); 39 console.info(ID);