8 expresiones regulares para PHP muy útiles

En Devolio.com el autor hizo una lista de 8 expresiones regurales que considera útiles a la hora de programar con PHP, muchas de ellas utilizadas para validar nombres de usuario, números telefónicos, direcciones de email entre otras.

Validar un nombre de usuario

Esta regla es para permitir usuarios de 4 hasta 28 caracteres de longitud, alfanuméricos y permitir guiones bajos.

$string = "userNaME4234432_";
if (preg_match('/^[a-zd_]{4,28}$/i', $string)) {
    echo "example 1 successful.";
}

Números telefónicos
Esto es para validar números de teléfono (en el formato de Estados Unidos, Canadá y México) el número debe ser de la siguiente manera: (###)###-####

$string = "(032)555-5555";
if (preg_match('/^((?[0-9]{3,3})?|[0-9]{3,3}[-. ]?)[ ][0-9]{3,3}[-. ]?[0-9]{4,4}$/', $string)) {
echo "ejemplo 2 realizado con éxito.";
}

El número de teléfono puede ser escrito así (###) ###-####, o así ###-###-#### y también va a validar.

Direcciones de Email

No hace falta decir más el código es el siguiente.

$string = "first.last@domain.co.uk";
if (preg_match(
'/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',
$string)) {
    echo "ejemplo 3 realizado con éxito.";
}

Códigos postales

Códigos postales de que permite solo números en el siguiente formato xxxxx y xxxxx-xxxx

$string = "55324-4324";
if (preg_match('/^[0-9]{5,5}([- ]?[0-9]{4,4})?$/', $string)) {
    echo "ejemplo 4 realizado con éxito.";
}

Direcciones IP

No necesitamos hacer un PING ni nada por el estilo, sólo verificamos que estén bien escritas, cómo este ejemplo 255.255.255.0.

$string = "255.255.255.0";
if (preg_match(
'^(?:25[0-5]|2[0-4]d|1dd|[1-9]d|d)(?:[.](?:25[0-5]|2[0-4]d|1dd|[1-9]d|d)){3}$',
$string)) {
    echo "ejemplo 5 realizado con éxito.";
}

Colores hexadecimales

Ya que hablamos de números tambien podemos verificar valores hexadecimales de números en sus 2 formas la normal y la abreviada (#333, 333, #333333 o 333333) con el símbolo # opcional.

$string = "#666666";
if (preg_match('/^#(?:(?:[a-fd]{3}){1,2})$/i', $string)) {
    echo "ejemplo 6 realizado con éxito.";
}

Buscar comentarios multi-línea

Una forma simple de buscar o eliminar comentarios multilínea en PHP/CSS/Otros lenguajes.

$string = "/* commmmment */";
if (preg_match('/^[(/*)+.+(*/)]$/', $string)) {
    echo "ejemplo 7 realizado con éxito.";
}

Fechas
Uno de los formatos de fechas típicos es el MM/DD/YYYY y su validación es la siguiente.

$string = "10/15/2007";
if (preg_match('/^d{1,2}/d{1,2}/d{4}$/', $string)) {
    echo "ejemplo 8 realizado con éxito.";
}

¿Conoces alguna otra expresión regular que se útil?

6 Comentarios (Agrega el tuyo)

  1. Comentado 19 Octubre 2007 a las 18:27 | Permalink | Responder ↓

    Muy interesante. Yo suelo programar en ASP, y hay algunas pequeñas diferencias. En cualquier caso, las expresiones regulares suelen ser muy útiles.

    Para agradecerte tu ayuda, te dejo este meme con mucho cariño ;-)

    http://soportetonto.blogspot.com/2007/10/por-que-escribo-este-blog.html

  2. Comentado 3 Diciembre 2007 a las 14:46 | Permalink | Responder ↓

    Buscando en San google di con esta pagina, era la informacion que buscaba, buen tip.

    Saludos desde Veracruz,Mexico

  3. samuel
    Comentado 12 Febrero 2008 a las 23:06 | Permalink | Responder ↓

    hey muchas gracias desde hacia 1 hora estaba buscando la ER del usuario muchas gracias

  4. Comentado 29 Marzo 2008 a las 14:59 | Permalink | Responder ↓

    muy bueno, muchas gracias

Escribe un Comentario

Su correo nunca será publicado ni compartido. Los campos requeridos están marcados *

*
*

2 Trackbacks (URL del trackback)

  1. [...] Carlos Leopoldo - 8 expresiones regulares para PHP muy útiles [...]

  2. Por Expresiones regulares en PHP - elWebmaster.com en 2 Julio 2008 a las 10:10

    [...] Fuente: Carlos Leopoldo [...]