Comprobando una dirección e-mail

Enunciado
  Esta es una función que puede resultar bastatne útil para comprobar direcciones de correo. Se trata de ver si una dirección de email contiene caracteres correctos y sigue el esquema habitual: usuario@servidor, usuario y servidor podrán contener caracteres alfanuméricos mas _ (guión bajo) y - (guión normal).
El código
Solución Sección Head
<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">
<!--
function checkMail(cadena) {
var plant = /[^\w^@^\.^-]+/gi
if (plant.test(cadena))
     alert(cadena + " contiene caracteres extraños.")
else{
     plant =/(^\w+)(@{1})([\w\.-]+$)/i
     if (plant.test(cadena))
         alert(cadena + " es correcta.")
     else
         alert(cadena + " no es válida.")
}
}
// -->
</SCRIPT>
Sección Body
<form name="form1" method="post" action="">
Introduce tu e-mail
<input type="text" name="email">
<input type="button" name="Button" value="Comprobar" onclick="checkMail(this.form.email.value)">
</form>
Comentarios
  La función checkMail() comprueba primero si existe algún carácter extraño para lo cual usa la expresión regular: /[^\w^@^\.^-]+/gi , comprueba si existe algún carácter no alfanumérico, o diferente de @, del punto o del guión. Una vez ha hecho esto pasa a comprobar la estructura de la cadena mediante otra expresión regular, en este caso comprueba que la cadena comienza con un carácter alfanumérico (^ indica aquí inicio de cadena y \w caracteres alfanuméricos) seguido de otros similares, este grupo debe ir seguido por un sólo símbolo arroba (@{1}) tras el cual puede existir cualquier grupo de alfanuméricos incluido el punto o el guión ( [\w\.-]) hasta llegar al final de la cadena ($). Si tienes dudas consulta el apartado descriptivo de las expresiones regulares y el dedicado a sus métodos.
     
Envía esta página a un amigo. Te lo agradecerá.   Poner esta página como página de inicio