Fai un passo alla volta.
(e inserisci degli alert ad ogni passo)
Anzitutto testare la variabile contro undefined non ha senso: andrebbe casomai testato il campo prima di copiarlo nella variabile.
Poi occorre verificare se la RE e` corretta. Io proporrei
/[a-zA-Z\s]/
(che e` una cosa diversa)
Comunque trasforma il tuo script cosi`:
codice:
function checkdati() {
alert("inizio funzione");
var nome = document.frmMail.nome.value;
var caratteri_reg_expr=/[a-zA-Z\s]/
if (nome==""){
alert("nome vuoto");
return false;
} else if ( !caratteri_reg_expr.test(nome)) {
alert("Attenzione! Campo NOME vuoto o incorretto.");
document.frmMail.nome.focus();
return false;
}
}
Poi sappimi dire come si comporta nelle varie situazioni (con campo corretto, con campo vuoto, con campo sbagliato, ...)
PS ho spezzato l'if, perche` ho qualche dubbio sulla RE e voglio quindi separare gli effetti. Quando funziona si puo` rimettere assieme.
Ciao
Michele