Srs, tudo bom?
Estou tentando criar um campo para verificar se a data de nascimento é maior de 18 anos, mas está “incompleto” o jeito que fiz, pq se por exemplo, a pessoa nasceu em 30/09/2001 (comparando com o ano atual 2019), não completou os 18 anos, e está passando como maior.
<input name="dataNascimento" value="[%url:dataNascimento%]" required="true" />
$('#dataNascimento').change(function() {
dt = $('#dataNascimento').val();
dCampo = new Date(dt);
dAtual = new Date();
var y = dAtual.getFullYear()-dCampo.getFullYear();
var m = dAtual.getMonth()-dCampo.getMonth();
var d = dAtual.getDate()-dCampo.getDate();
if (y >= 18) {
alert("Maior");
} else {
alert("Menor");
}
});
Consegui assim, para quem interessar:
$('#dataNascimento').change(function() {
dt = $('#dataNascimento').val();
dt = dt.split('/').reverse().join('/');
dob = new Date(dt);
var today = new Date();
var age = Math.floor((today-dob) / (365.25 * 24 * 60 * 60 * 1000));
alert(age+' years old');
});