JS method of calculating age by birthday

  • 2020-06-03 05:55:05
  • OfStack

This article illustrates JS's method of calculating age according to birthday. Share to everybody for everybody reference. Specific implementation methods are as follows:


function parseDate(str){
 if(str.match(/^\d{4}[\-\/\s+]\d{1,2}[\-\/\s+]\d{1,2}$/)){
  return new Date(str.replace(/[\-\/\s+]/i,'/'));
 }
 else if(str.match(/^\d{8}$/)){
  return new Date(str.substring(0,4)+'/'+str.substring(4,6)+'/'+str.substring(6));
 }
 else{
  return (' Time conversion error! ');
 }
}
function GetAgeByBrithday(birthday){
 var age=-1;
 var today=new Date();
 var todayYear=today.getFullYear();
 var todayMonth=today.getMonth()+1;
 var todayDay=today.getDate();
 var birthday=parseDate(birthday);
 if(parseDate(birthday)!=' Time conversion error! ')
 {
 birthdayYear=birthday.getFullYear();
 birthdayMonth=birthday.getMonth();
 birthdayDay=birthday.getDate();
 if(todayYear-birthdayYear<0)
 {
  alert(" Wrong date of birth !");
 }
 else
 {
  if(todayMonth*1-birthdayMonth*1<0)
  {
    age = (todayYear*1-birthdayYear*1)-1;
  }
  else
  {
    if(todayDay-birthdayDay>=0)
    {//alert(thisDay+'-'+brithd+"_ddd");
      age = (todayYear*1-birthdayYear*1);
    }
    else
    {
      age = (todayYear*1-birthdayYear*1)-1;
    }
  }
 }
 return age*1;
 }
 else
 {
 return -1;
 }
}

Hopefully, this article has been helpful in your javascript programming.


Related articles: