Geek the Planet


Desarrollo no image

Published on octubre 23rd, 2010 | by Angelfire

4

10 expresiones regulares fundamentales

Buscando una expresión regular para hacer una validación me encontré con esta interesante lista de 10 expresiones regulares fundamentales…

Para todos los programadores estas dichosas expresiones son un arma potensisima, demasiado potente diría yo, son algo así como un patrón, son expresiones que describen un conjunto de cadenas sin enumerar sus elementos. En el área de la programación las expresiones regulares son un método por medio del cual se pueden realizar búsquedas dentro de cadenas de caracteres. Sin importar si la búsqueda requerida es de dos caracteres en una cadena de 10 o si es necesario encontrar todas las apariciones de un patrón definido de caracteres en un archivo de millones de caracteres.

Por ejemplo, el grupo formado por las cadenas Handel, Händel y Haendel se describe mediante el patrón “H(a|ä|ae)ndel”.

El siguiente listado de expresiones regulares permiten por ejemplo validar diferentes campos dentro de un formulario: un e-mail, una URL, lo seguro de una contraseña, un número de teléfono, entre otros…

  1. Validar una URL:
    /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \?=.-]*)*\/?$/
  2. Validar un e-mail:
    ^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$
  3. Verificar la seguridad de una contraseña:
    (?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$

    De esta forma comprobaremos:

    • 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:
    ^\+?\d{1,3}?[- .]?\(?(?:\d{2,3})\)?[- .]?\d\d\d[- .]?\d\d\d\d$
  5. Validar número de tarjeta de crédito:
    ^((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. Obtener el ID de un video de Youtube:
    /http:\/\/(?:youtu\.be\/|(?:[a-z]{2,3}\.)?youtube\.com\/watch(?:\?|#\!)v=)([\w-]{11}).*/gi
  7. Validar todas las etiquetas de imagen sin cerrar:
    ]+)(\s*[^\/])>
  8. Validar una dirección IP:
    /^(([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:
    ^([1-9]{2}|[0-9][1-9]|[1-9][0-9])[0-9]{3}$
  10. Validar un nombre de usuario:
    /^[a-z\d_]{4,15}$/i

Visto en: Web.ontuts

Tags: , ,


About the Author

Systems Engineering, Computer Systems Specialist, Social Engineering Specialist. Social Media Analyzer. Usability and SEO enthusiasm (Este es mi perfil de Twitter...)



4 Responses to 10 expresiones regulares fundamentales

  1. jasson says:

    Una pregunta donde se puede agregar dichas expresiones?(en k parte)

  2. annykita says:

    Creo que estas expresiones y otras, son heramientas que todo programador debe tener a la mano, son muchos los “problemas” o situaciones que puede resolver una expresión regular. Detrás de esto hay toda una teoría aplicada y mucho que aprender.

    Nice post!

  3. Angelfire says:

    @annykita: Para los programadores son un “arma” esencial. Aunque también son muy usadas en linux, aunque por lo regular con el mismo fin, buscar texto, reemplazarlo, etc.

  4. annykita says:

    @Angelfire: es igual un lenguaje formal adaptado por muchos otros lenguajes y plataformas.

Back to Top ↑