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-z\\d_]{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|1\\d\\d|[1-9]\\d|\\d)(?:[.](?:25[0-5]|2[0-4]\\d|1\\d\\d|[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-f\\d]{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?