function calcolaEta() {
const g = parseInt(document.getElementById("giornoNascita").value);
const m = parseInt(document.getElementById("meseNascita").value);
const a = parseInt(document.getElementById("annoNascita").value);
if (isNaN(g) || isNaN(m) || isNaN(a)) {
document.getElementById("outputEta").textContent = "Inserisci tutti i campi (giorno, mese, anno).";
return;
}
const oggi = new Date();
const maxGiorni = giorniNelMese(m, a);
if (g > maxGiorni) {
document.getElementById("outputEta").textContent = `Il mese selezionato ha solo ${maxGiorni} giorni.`;
return;
}
const compleanno = new Date(oggi.getFullYear(), m - 1, g);
let eta = oggi.getFullYear() - a;
if (oggi < compleanno) eta--;
const maggiorenne = eta >= 18 ? "maggiorenne" : "minorenne";
document.getElementById("outputEta").textContent = `Hai ${eta} anni, sei ${maggiorenne}.`;
}
Giorni al compleanno
function giorniAlCompleanno() {
const g = parseInt(document.getElementById("giornoCompleanno").value);
const m = parseInt(document.getElementById("meseCompleanno").value);
const oggi = new Date();
const anno = oggi.getFullYear();
if (isNaN(g) || isNaN(m)) {
document.getElementById("outputCompleanno").textContent = "Inserisci giorno e mese validi.";
return;
}
const maxGiorni = giorniNelMese(m, anno);
if (g < 1 || g > maxGiorni) {
const mesi = ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"];
const nomeMese = mesi[m - 1];
const msg = m === 2 ? `Il mese di ${nomeMese} dell'anno ${anno} ha solo ${maxGiorni} giorni.` : `Il mese di ${nomeMese} ha solo ${maxGiorni} giorni.`;
document.getElementById("outputCompleanno").textContent = msg;
return;
}
let prossimo = new Date(anno, m - 1, g);
if (oggi > prossimo) prossimo.setFullYear(anno + 1);
const diff = Math.ceil((prossimo - oggi) / (1000 * 60 * 60 * 24));
const msg = diff === 0 ? "🎉 Tanti auguri di buon compleanno!" : `Mancano ${diff} giorni al tuo compleanno.`;
document.getElementById("outputCompleanno").textContent = msg;
}
Cambio colore del testo
Questo è un testo colorabile
function cambiaColore() {
const selezione = document.querySelector('input[name="colore"]:checked');
const errore = document.getElementById("erroreColore");
if (!selezione) {
errore.textContent = "Seleziona un colore!";
return;
}
errore.textContent = "";
document.getElementById("testoColorato").style.color = selezione.value;
}
Giudizio sul voto
function giudicaVoto() {
const voto = parseInt(document.getElementById("voto").value);
let giudizio = "";
switch (voto) {
case 1: case 2: case 3: case 4: case 5: giudizio = "Insufficiente"; break;
case 6: giudizio = "Sufficiente"; break;
case 7: case 8: giudizio = "Buono"; break;
case 9: giudizio = "Distinto"; break;
case 10: giudizio = "Ottimo"; break;
default: giudizio = "Voto non valido.";
}
document.getElementById("outputVoto").textContent = giudizio;
}
Accesso per età e città
function verificaAccesso() {
const eta = parseInt(document.getElementById("etaAccesso").value);
const citta = document.getElementById("cittaAccesso").value.trim().toLowerCase();
if (isNaN(eta) || citta === "") {
document.getElementById("outputAccesso").textContent = "Inserisci sia l'età che la città.";
return;
}
const consentite = ["bari", "roma"];
const accesso = eta >= 18 && consentite.includes(citta);
document.getElementById("outputAccesso").textContent = accesso ? "Accesso consentito." : "Accesso negato.";
}