tieni, guardati questo codice, prelevato dal sito tissino.it.
Fai un copia ed incolla per testarlo, dovrebbe essere quello che cerchi.
codice:
<html>
<head>
<meta http-equiv="content-type" CONTENT="text/html; charset=ISO-8859-1">
<title>Javascript - controllo indirizzo email con RegExp</title>
<script language="Javascript1.3">
function indirizzoEmailValido(indirizzo) {
if (window.RegExp) {
var nonvalido = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
var valido = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
var regnv = new RegExp(nonvalido);
var regv = new RegExp(valido);
if (!regnv.test(indirizzo) && regv.test(indirizzo))
return true;
return false;
}
else {
if(indirizzo.indexOf("@") >= 0)
return true;
return false;
}
};
function controllaDati(modulo) {
if (!indirizzoEmailValido(modulo.email.value)) {
modulo.email.select();
alert("Si prega di inserire un indirizzo email valido");
return false;
}
else
return true;
};
</script>
</head>
<body>
<form name="miomodulo" action="../pagineweb/foo.php"
method="get" onSubmit="javascript:return controllaDati(this);">
<input type="text" value="indirizzo@email" name="email">
Iscriviti alla nostra mailing list!</p>
<input type="submit" value="Sì, mi iscrivo!">
</form>
<!--
notare:
- uso dell'evento Submit per il modulo anziché per il pulsante
- return controllaDati(), non solo controllaDati()
- il controllo della sola presenza del segno @ non è granché
-->
</body>
</html>