¿Qué son las expresiones regulares?
Odiadas por unos, adoradas por otros… en cualquier caso las expresiones regulares son siempre útiles y necesarias para validar todo tipo de datos, buscar, encontrar coincidencias en cadenas de texto y mucho más.Si tuviéramos que dar una definición de forma técnica, una expresión regular (o patrón) es una expresión que describe un conjunto de cadenas sin enumerar sus elementos.Así pues en una búsqueda de dos caracteres concretos, no importará si número de caracteres es 10 o un millón, las expresiones regulares nos porporcionarán una solución al problema. Además de buscar, también podremos saber si una cadena es una fecha, un e-mail, una dirección web… tan sólo deberemos conocer el patrón necesario a escribir.
A continuación compartimos con todos vosotros 10 expresiones regulares que a buen seguro usaréis en más de una ocasión y que serán siempre útiles en vuestros proyectos web.
1. Validar una URL
¿Quieres saber si una dirección web es válida? No hay problema con esta expresión regular lo tendremos muy fácil:- /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \?=.-]*)*\/?$/
2. Validar un E-mail
En muchas ocasiones necesitaremos saber si un e-mail con el que se trata de registrar un usuario es válido:- ^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$
3. Comprobar la seguridad de una contraseña
Para aquellos que necesitáis sugerir / comprobar la fortaleza de una contraseña:- (?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$
- Contraseñas que contengan al menos una letra mayúscula.
- Contraseñas que contengan al menos una letra minúscula.
- Contraseñas que contengan al menos un número o caracter especial.
- Contraseñas cuya longitud sea como mínimo 8 caracteres.
- Contraseñas cuya longitud máxima no debe ser arbitrariamente limitada.
4. Validar un número de teléfono
Con este snippet se validarán todos los número de teléfono pertenecientes a los listados en la Wikipedia:- ^\+?\d{1,3}?[- .]?\(?(?:\d{2,3})\)?[- .]?\d\d\d[- .]?\d\d\d\d$
5. Validar número de tarjeta de crédito
Ahora que tan de moda está el e-commerce seguro que esto le vendrá bien a más de uno:- ^((67\d{2})|(4\d{3})|(5[1-5]\d{2})|(6011))(-?\s?\d{4}){3}|(3[4,7])\ d{2}-?\s?\d{6}-?\s?\d{5}$
6. Recoger ID de un vídeo de Youtube
Si necesitas recoger el ID de un vídeo de Youtube en sus múltiples combinaciones, esta es tu expresión regular:- /http:\/\/(?:youtu\.be\/|(?:[a-z]{2,3}\.)?youtube\.com\/watch(?:\?|#\!)v=)([\w-]{11}).*/gi
7. Validar todas las etiquetas de imagen sin cerrar
Ahora que prácticamente todos empleamos xHTML es interesante comprobar que todas nuestras etiquetas de imagen están correctamente cerradas:- <img([^>]+)(\s*[^\/])></img([^>
8. Validar una dirección IP
Si necesitas validar una dirección IP introducida por un usuario, esto te será de gran ayuda:- /^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/
9. Validar código postal
En muchas ocasiones necesitamos recoger en los formularios de alta el código postal:- ^([1-9]{2}|[0-9][1-9]|[1-9][0-9])[0-9]{3}$
10. Validar un nombre de usuario
Si por ejemplo quisiésemos validar un nombre de usuario con un mínimo de 4 caracteres y un máximo de 15 haríamos lo siguiente:- /^[a-z\d_]{4,15}$/i
No hay comentarios:
Publicar un comentario