Sto facendo un doppio controllo per la validità della la mail e apparentemente uno funziona e l'altro no pur essendo in teoria la regola la stessa..
faccio il controllo del campo quando esco dal campo stesso.
codice:
<input id="client_email" type="text" name="client_email" value="" onblur="checkemail(this.value)" />
function checkemail(email)
{
var regex=/^[a-zA-Z0-9\.\_]+\@{1}[a-zA-Z0-9]+\.\w{2,4}$/;
if(client_email.value != "") {
if(!regex.test(email))
{
alert('email non valida');
// document.getElementById("client_email").focus();
// client_email.value = "";
}
}
}
e questo funziona sempre
poi quando l'utente schiaccia "conferma" per inserire i dati nel DB faccio il secondo controllo, che ti blocca se non è valida facendo comparire una finestra tipo modale, ed è questo
codice:
if ($('#client_email').val() != '') {
var regex=/^[a-zA-Z0-9\.\_]+\@{1}[a-zA-Z0-9]+\.\w{2,4}$/;
if(!regex.test(client_email))
{
$("#dialog").html('<p>Email non valida</p>')
.dialog({
modal: true,
title: 'email non valida',
buttons: {'OK': function() {$("#dialog").dialog('close');} }
});
mostra_pag1();
return;
// document.getElementById("client_email").focus();
// client_email.value = "";
}
}
ma fallisce anche se metto una mail "buona"