1 /* * 2 * Get the surname and the exact age based on the ID number 3 */ 4 function analyzeIDCard(IDCard){ 5 var sexAndAge = {}; 6 // Get the user ID number 7 var userCard = IDCard; 8 / / If the ID number is undefined, return empty 9 if (! userCard){ 10 return sexAndAge; 11 } 12 // Get gender 13 if (parseInt(userCard.substr(16,1)) % 2 == 1 ){ 14 sexAndAge.sex = '1 (male)' 15 } else { 16 sexAndAge.sex = '0 (female)' 17 } 18 // Get the date of birth 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 // Get current year month day and calculate age 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 // get age 32 sexAndAge.age = age; 33 // return gender and age 34 return sexAndAge; 35 } 36 37 /* test */ 38 var ID = analyzeIDCard('510612199004174732' ); 39console.info(ID);