Ottima risposta, mi è servita tanto.
Però rimane un problema: la pagina si aggiorna dopo il messaggio Alert.

Ecco i codici:
HTML (il piccolo form):
<form enctype="multipart/form-data" action="#" name="formnewsletter" method="post" onsubmit="return controllo_form();">

Per ricevere offerte speciali, promozioni personali...
<input type="text" name="email" value="Il tuo indirizzo email" size="90px" onFocus="cText(this)" />


<input type="checkbox" name="checkprivacy" />Do il consenso al tratt. dei miei dati personali a senso D/L (...)


<input type="submit" name="submit" value="Conferma" />
</form>
JAVA:
function controllo_form()

{if (document.formnewsletter.checkprivacy.checked == false)
{alert("L'accettazione della privacy è obbligatoria");
document.formnewsletter.checkprivacy.focus();
return false;
}

{var test;
test="true";
if (test=="true")
{if(document.formnewsletter.email.value=="")
{alert("Campo vuoto!");
document.formnewsletter.email.focus();
return false;
}
}

var filter =/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
var mail = document.formnewsletter.email;
if(!filter.test(mail.value))
{alert("Indirizzo email non valido!");
email.focus();
return false;
}

if (test=="true")
{document.formnewsletter.submit();
}
}
}
Per il controllo della checkbox privacy e il "campo vuoto" funziona benissimo, senza ricaricare la pagina.
Per il controllo della struttura dell'email, funziona ma dopo aver chiuso la finestra Alert, la pagina si ricarica.

Non esitate a correggere se vedete altri errori.

Grazie e auguri di buon natale a voi tutti!!