Las 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








Miércoles, 2 de Julio de 2008 a las 13.51
Gracias por la mención, desde hace tiempo sigo por Feeds a elWebmaster.com
Saludos
Viernes, 4 de Julio de 2008 a las 03.48
Muy buen resumen y muy útil.