Javascript

Hola! Mira he encontrado una función en internet que me valida un email, me funciona bien pero, me gustaría, si puedes que me explicases un poco por encima lo que hace el if, porque no me acabo de enterar. If (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)). Gracias! Hasta luego

2 Respuestas

Respuesta
1
Por lo que veo se está haciendo uso de lo que se llamma "expresiones regulares", es un sublenguaje especial presente en la mayoría de los lenguajes de programación y está destinado principalmente para trabajar con texto. Ese if a grandes rasgos estaría buscando una arroba dentro de una cadena, es decir ese if usa una expresión regular para tratar de describir la forma general que tendría una dirección de correo electrónico. Si gustas me envías la función y te la comento.
function validarEmail(valor) {
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
return (true);
} else {
alert("La dirección de email es incorrecta");
return (false);
}
}
Esa es la funcion entera, lo que no entiendo es /^\w+([\.-]?\w+ , ahi que está incluyendo? ¿Las letras y signos que puede llevar un email? y lo último $/.test(valor), ¿eso que es? Gracias. Hasta luego
A ver.... /^\w+([\.-]?\w+)
^ especifica que la coincidencia debe producirse al comienzo de la cadena \n
\w conincide con cualquier caracter de una palabra \n
+ especifica una o mas coincidencias. Ejmeplo: a+ coincide con aa aaa, etc \n
[\.-] El \ ovia el . de la expresión, esto significa: coincide con . o con - es decir el email puede contenerlos. \n
? especifica cero o una coincidencia \n
\w idem \n
+ idem \n
\n
Lo que esta entre paréntesis es una sub expresión \n
Lo de test me mató, al parecer es una función y le pasa como aprametro la dirección de email que le pasaste a la función original. Aunque podría ser propia de js, no lo recuerdo
Respuesta
1
Pues básicamente lo que hace es comprobar que no haya caracteres prohibidos antes de la arroba, que exista la arroba y que luego el dominio del e-mail tenga 2 o 3 caracteres.
Es un poco complejo de explicar pero mírate esta web que aunque está en brasileño se puede entender bastante bien.
http://phpbrasil.com/articles/article.php/id/520
Suerte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas