Segue meus melhoramentos e código HTML + Java Script de como eu fiz o desafio:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Verificar Idade</title>
</head>
<body>
<h1>Verificar se a Pessoa é maior ou menor de Idade</h1>
<label for="idadeInput">Digite sua data de nascimento:</label>
<input type="date" id="idadeInput" placeholder="Digite aqui sua data de nascimento!">
<button onclick="verificar()">Verificar</button>
<p id="resultado"></p>
<script>
function verificar() {
let dataNascimento = document.getElementById("idadeInput").value;
if (dataNascimento === "") {
document.getElementById("resultado").textContent = "Por favor, insira sua data de nascimento.";
return;
}
let resultado = validarIdade(dataNascimento);
document.getElementById("resultado").textContent = resultado;
document.getElementById("idadeInput").value = "";
}
function validarIdade(dataNascimento) {
let dataNascimentoObj = new Date(dataNascimento);
if (isNaN(dataNascimentoObj)) {
return "Data inválida. Insira uma data válida.";
}
let dataAtual = new Date();
let idade = dataAtual.getFullYear() - dataNascimentoObj.getFullYear();
// Ajuste da idade se ainda não fez aniversário este ano
if (dataAtual.getMonth() < dataNascimentoObj.getMonth() ||
(dataAtual.getMonth() === dataNascimentoObj.getMonth() && dataAtual.getDate() < dataNascimentoObj.getDate())) {
idade--;
}
// Exibe o alerta apenas se for menor de idade
if (idade < 18) {
alert("Menores de idade devem estar acompanhados de um responsável.");
return "Você é menor de Idade";
}
return "Você é maior de Idade";
}
</script>
</body>
</html>