Ya vimos cómo validar un correo o email en JavaScript. Ahora hagamos lo mismo con Python, veamos una forma de saber si el usuario puso un correo válido.

De nuevo lo digo, aunque el correo parezca válido, no lo sabremos hasta que lo comprobemos enviando un mensaje con un token o algo similar; pero bueno, el punto es ver si un correo es válido según su forma como cadena.

Al final, un usuario podría poner uno que sea temporal, o que sea falso, por lo que no importa mucho la validación, sino la comprobación de la existencia.

Método 1: ver si tiene un arroba

Este es el más fácil y simple, aunque dejará pasar correos mal formados, por ejemplo “juan@asd@asd” pero lo repito, es culpa del usuario si lo pone mal.

Comprobamos entonces si el arroba está en el correo. Así:

Como lo dije, el método dirá que sí es válido (aunque no sea cierto) si le ponen dos arrobas, o dejan el arroba sin nada más, etcétera. De todos modos, ahora vamos a ver el método que usa una expresión regular.

Expresión regular para comprobar correo electrónico en Python

Podemos usar el poder de las expresiones regulares para probar si un correo es válido. Para ello, vamos a encerrar esto en una función, de manera que quede expuesto de una manera simple.

Dicha función recibe una cadena y regresa un booleano indicando si es un correo electrónico válido o no.

Es simple. Al probar con el método match, se devuelve None si no se cumple con la expresión regular, por eso es que regresamos el resultado de comparar si no es None. En pocas palabras, si regresa True es válido, si no, entonces no.

La expresión regular, aunque es larga, funciona. De hecho podemos probarla con esto:

Funciona completamente bien. Puedes probarla por ti mismo:

Conclusión

Lo que resta decir es que nunca existirá el algoritmo perfecto, pero sí podemos cubrir los casos más comunes y acertar el 99 % de veces.

Como lo dije al principio, la manera que no falla es enviar un correo electrónico a esa dirección y hacer que el usuario verifique.

No te vayas sin seguirme en Twitter, Facebook y GitHub, así me motivas a escribir más posts.
Igualmente te invito a suscribirte en la parte superior derecha escribiendo tu correo en el formulario.
Si tienes dudas déjalas en un comentario


parzibyte

He trabajado por más de 4 años en el desarrollo de software con experiencia en Java, PHP, JavaScript, HTML, Node.JS, Python, Android y Go. También he trabajado con bases de datos SQL como MySQL y SQLite, así como con bases de datos NoSQL usando MongoDB. Soy bueno utilizando algunos frameworks y herramientas como Firebase, jQuery, AngularJS, VueJS, CodeIgniter, Laravel, BulmaCSS, Bootstrap y Electron. Otros términos que conozco son: Arduino, GraphQL, API's, REST, AJAX, PouchDB, CouchDB, Experiencia de usuario, buenas prácticas de programación, Webpack, NPM, Administración de servidores y programación de scripts La plataforma en la que tengo más experiencia es la web, pero en mis ratos libres realizo unos pequeños ejercicios en C# y C. Estoy aquí para ayudarte a resolver tus problemas de programación y depuración :-)

1 Comment

Comprobar si es correo electrónico en JavaScript: la forma definitiva - Parzibyte's blog · diciembre 4, 2018 a las 1:10 pm

[…] Nota: mira aquí cómo validar un email en Python. […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A %d blogueros les gusta esto: