JS calculates age and gender accurately based on ID number

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);

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325251764&siteId=291194637
Recommended