|
|
| 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. |