Juan Manuel Miércoles, 2 de Julio de 2008 a las 11.42
   Imprimir artículo
elWebmaster.com

Expresiones regulares en PHP

Expresiones regulares en PHPLas expresiones regulares son una manera de describir un patrón, que en PHP se puede usar para comparar, examinar o editar strings de manera práctica. Las más conocidas son preg_match(), preg_replace() y preg_split().

Si sabemos usarlas correctamente podremos, por ejemplo, validar nombres de usuarios, números de teléfono o e-mails entre otras cosas. ¡Conozcámoslas en profundidad!

Expresiones regulares de PHP para validar:

Nombre de usuario

Esta regla admite nombres que tengan de 4 a 28 caracteres, alfanuméricos y permite el uso de guiones bajos:

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

Número de teléfono

Valida sólo números que tengan un prefijo de área más una serie de números que puedes modificar según tus preferencias:

$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.â€;
}

Dirección de e-mail

$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ódigo Postal

Sólo números con 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

$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

Podemos validarlos tanto en la notación común o 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.â€;
}

Comentarios multilínea

Para buscarlos o eliminarlos, ya sea en PHP, CSS, etc.

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

Fechas

Para el formato mm/dd/aaaa

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

¿Qué otras expresiones regulares utilizas?

Fuente: Carlos Leopoldo

Enviar a Del.icio.us Enviar a Meneame Enviar a Digg Enviar a Fresqui Enviar a Enchilame

Comentarios (2)

  1. Carlos Leopoldo dice:

    Gracias por la mención, desde hace tiempo sigo por Feeds a elWebmaster.com

    Saludos

  2. hectorf dice:

    Muy buen resumen y muy útil.

Deja tu opinión

© 2007 - 2008 elWebmaster.com | Powered by Wordpress | Diseño CSS y XHTML válido. | Algunos íconos basados en FamFamFam Mini
Iniciar Sesión