Expresiones regulares en PHP
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."; }