Inicio PHP Mis Funciones 10 expresiones regulares muy usadas

10 expresiones regulares muy usadas

Viernes, 10-04-2015 08:57 - Leer comentarios - Comentar

10 de las expresiones regulares mas usadas
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:
php
     /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \?=.-]*)*\/?$/  

    /^(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:
php
    ^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$  

    ^[_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:
php
    (?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$  

    (?=^.{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
Con este snippet se validarán todos los número de teléfono pertenecientes a los listados en la Wikipedia:
php
    ^\+?\d{1,3}?[- .]?\(?(?:\d{2,3})\)?[- .]?\d\d\d[- .]?\d\d\d\d$  

    ^\+?\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:
php
    ^((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}$  

    ^((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:
php
    /http:\/\/(?:youtu\.be\/|(?:[a-z]{2,3}\.)?youtube\.com\/watch(?:\?|#\!)v=)([\w-]{11}).*/gi  

    /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:
php
    ]+)(\s*[^\/])>  

    ]+)(\s*[^\/])> 
8. Validar una dirección IP
Si necesitas validar una dirección IP introducida por un usuario, esto te será de gran ayuda:
php
    /^(([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])$/  

    /^(([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:
php
    ^([1-9]{2}|[0-9][1-9]|[1-9][0-9])[0-9]{3}$  

    ^([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:
php
    /^[a-z\d_]{4,15}$/i  

    /^[a-z\d_]{4,15}$/i 
Además el nombre estaría utilizando sólo caracteres de la A-z y números.

Comentarios

No se permiten comentarios en este momento.