Originariamente inviato da SangueMisto
No purtroppo non mi funziona, richiede la compilazione di tutti e due i campi.
2)Nel campo telefono se lascio il var filtro mi permette l'inserimento di un solo numero.
Ho messo una versione online:
Test
Questo verificato e funzina tutto:
codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento senza titolo</title>
<script language="javascript">
function VerifcaForm(){
//regular exp email numeri
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
var num = /^([0-9])+$/;
//valorizzo le variabili
var Mail = document.getElementById("email");
var Tel = document.getElementById("telefono");
//Verifico se almeno un dei 2 campi e compilato
if((Mail.value == "") && (Tel.value == "")){
alert("Attenzione\n\nInserire un indirizzo di posta valido o un recapito telefonico");
Mail.focus();
return false;
//Verifico la validita dell'indirizzo email
}else if((Mail.value != "") && (!Mail.value.match(filter))){
alert("Attenzione\n\nLa mail "+Mail.value+" risulta formalmente errata!!");
Mail.focus();
return false;
//Verifico il recapito telefonico
}else if((Tel.value != "") && (!Tel.value.match(num))){
alert("Attenzione\n\nInserire solo numeri senza punti o trattini o barre");
Tel.focus();
return false;
}
}
</script>
</head>
<body>
<form name="form1" id="form1" method="post" action="" onsubmit="return VerifcaForm();">
<input name="email" type="text" id="email" />
<input name="telefono" type="text" id="telefono" />
<input type="submit" name="Submit" value="Submit" />
</form>
</body>
</html>