Retorno da idade


Eu estou buscando uma maneira de validar a idade do meu cliente em cima da data de nascimento dele via script, porém nenhum dos scripts que eu fiz funcionou.


A minha ideia é que quando a pessoa colocar a data de nascimento no formato de DD/MM/AAAA vai ser retornado a idade exata da pessoa, e se a pessoa tiver menos que 18 anos ela vai ser colocada como uma variável de menor e se ela for maior vai ser uma variável de maior de idade, pois dependendo da idade da pessoa ela vai fazer uma trilha diferente.


Alguém consegue me auxiliar com isso?


1 comentário

Reputação 5

Boa tarde @Arthur_Pessoa, tem esse script aqui que pode te ajudar, ele retorna a data de aniversário do usuário. No seu caso dentro da própria função você pode fazer uma validação de se idade >= 18 return “Maior de idade”.


function calculaIdade(dataNasc){ 
var dataAtual = new Date();
var anoAtual = dataAtual.getFullYear();
var anoNascParts = dataNasc.split('/');
var diaNasc =anoNascParts[0];
var mesNasc =anoNascParts[1];
var anoNasc =anoNascParts[2];
var idade = anoAtual - anoNasc;
var mesAtual = dataAtual.getMonth() + 1;
//Se mes atual for menor que o nascimento, nao fez aniversario ainda;
if(mesAtual < mesNasc){
idade--;
}
else {
//Se estiver no mes do nascimento, verificar o dia
if(mesAtual == mesNasc){
if(new Date().getDate() < diaNasc ){
//Se a data atual for menor que o dia de nascimento ele ainda nao fez aniversario
idade--;
}
}
}
return idade;
}
console.log(calculaIdade('31/12/1970'));

Comente