Verificar data se maior de 18

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

Lógica de programação para que, né?
1 - Compara o ano de nascimento
2 - Compara o mês de nascimento
3 - Compara o dia de nascimento
Se a diferença entre o ano atual e o ano de nascimento for menor que 18, então o usuário tem menos de 18.
Se a diferença entre o ano atual e o ano de nascimento for igual a 18, então verifica-se o mês.
Se o mês de nascimento for maior que o mês atual, então o usuário tem menos de 18.
Se o mês de nascimento for menor que o mês atual, então o usuário tem mais de 18.
Se o mês de nascimento for igual ao mês atual, então verifica o dia de nascimento.
Se o dia de nascimento for maior ou igual ao dia atual, então o usuário tem menos de 18.
Se o dia de nascimento for menor que o dia atual, então o usuário tem mais de 18.
Se a diferença entre o ano atual e o ano de nascimento for maior que 18, então o usuário tem mais de 18.
Só isso.