Muchas veces se nos presenta la necesidad de validar que en un campo determinado de nuestro formulario se ingrese una dirección de email o correo electrónico correcta. Para ello tenemos que validar que el formato sea correcto, es decir, que incluya una @ y un dominio. Para eso hay muchas funciones y la mayoría hace uso de la función indexOF() que puede ser no fiable en esta aprobación.
Existe en javascript (como en otros lenguajes) el uso de expresiones regulares que nos ayudará a validar un formulario el correcto formato de una dirección de correo electrónico, el ejemplo de validación de email se muestra a continuación:
[codigo]
function valEmail(valor){
re=/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$/
if(!re.exec(valor)) {
return false;
}else{
return true;
}
}[/codigo]
El resultado de esta función es booleano, es decir, nos dice si es verdadero o falso el formato que hemos ingresado, para poder usar esta función debe estar dentro de “<head>” para después invocarla desde cualquier punto y de cualquier forma, por ejemplo:
[codigo]
<html>
<head>
<title>Ejemplo de función para validar dirección de email en javascript</title>
<script language="JavaScript">
function valEmail(valor){ // Cortesía de http://www.ejemplode.com
re=/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$/
if(!re.exec(valor)) {
return false;
}else{
return true;
}
}
</script>
<body>
<form action=”ejemplode.com”>
Email:<input type=”text” name=”email”>
<input type=button onClick=”if(!valEmail(this)){alert(‘la dirección de correo no es correcta’);}”>
</form>
</body>
</html>
[/codigo]