Extraer partes de un email con Javascript

19/Sep/2017 JavaScript 1 Comentario

Es este ejemplo vamos a extraer partes de un email con Javascript. Para ello nos vamos a ayudar por un lado de expresiones regulares y por otro de la técnicas de desestructuración de Javascript.

Partimos de que tenemos un email del cual queremos extraer sus partes:

  1. var email = 'juan.sanchezs@gmail.com';

Las partes serían el nombre de usuario, el servidor y el dominio.. En este caso serían:

  • nombre = juan.sanchez
  • servidor = gmail
  • domino = com

Así que vamos con la expresión regular que lo va a analizar el email.

  1. /^([^]+)@(\w+).(\w+)$/

Vemos que con los paréntesis indicamos los tres grupos de análisis que buscamos. Para el nombre de usuario buscamos cualquier palabra, es por ello lo de [^]+, mientras que para el nombre de servidor como el dominio solo buscamos números y letras \w+.

La expresión regular la ejecutamos mediante el método .exec()

  1. var email_analizado = /^([^]+)@(\w+).(\w+)$/.exec(email);

Vemos que el resultado es el siguiente:

[ 'juan.sanchez@gmail.com',
'juan.sanchez',
'gmail',
'com',
index: 0,
input: 'juan.sanchez@gmail.com' ]

Ahora utilizamos la desestructuración de arrays de Javascript para quedarnos con las tres partes:

  1. var [,nombre,servidor,dominio] = email_analizado;

Vemos que ignoramos el primer elemento ya que es la cadena original y solo nos quedamos con los tres siguientes.

Ahora podemos utilizar las variables a nuestro antojo en el código fuente:

  1. console.log('Nombre del usuario: ' + nombre);
  2. console.log('Servidor de Correo: ' + servidor);
  3. console.log('Dominio: ' + dominio);

Así hemos podido extraer partes de un email con Javascript de una forma sencilla y con muy pocas líneas de código.

Vídeos sobre Javascript


Un comentario en “Extraer partes de un email con Javascript”

Víctor Cuervo

Webbing Diseño Web

Un post de lo más interesante y cómo siempre muy bien explicado.

¡Un saludo!

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*