10 expresiones regulares para PHP
Las expresiones regulares son patrones que describen un conjunto de cadenas sin enumerar sus elementos. Aún y cuando su sintaxis puede resultar algo complicada si no estamos familiarizados con ella, su versatilidad y potencia hacen de las expresiones regulares un recurso imprescindible a la hora de validar los datos enviados desde un formulario web.
A continuación os dejo 5 expresiones para PHP con las que validar algunos campos comunes en la mayoría de sites.
Nombre de usuario
$nombre = "userNaME4234432_";
if (preg_match('/^[a-zd_]{4,28}$/i', $nombre)) {
echo "Nombre de usuario válido.";
}
Dirección de email
$email = "nombre.apellido@domain.com.ar";
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}$/',$email)) {
echo "email válido";
}
Número de teléfono (formato de Estados Unidos, Canadá y México)
$tel = "(032)555-5555";
if (preg_match('/^((?[0-9]{3,3})?|[0-9]{3,3}[-. ]?)[ ][0-9]{3,3}[-. ]?[0-9]{4,4}$/', $tel)) {
echo "teléfono válido";
}
Fechas
$string = "15/10/2009";
if (preg_match('/^d{1,2}/d{1,2}/d{4}$/', $string)) {
echo "fecha correcta.";
}
Dirección 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 "IP correcta.";
}
Validaciones genéricas:
String alpha numérico
preg_match("/^([a-z0-9])+$/i", $str)
String alpha numérico con barra baja y guion
preg_match("/^([-a-z0-9_-])+$/i", $str)
Cadena númerica
preg_match( '/^[\-+]?[0-9]*\.?[0-9]+$/', $str)
Integer
preg_match( '/^[\-+]?[0-9]+$/', $str)
Base64 válido
preg_match('/[^a-zA-Z0-9\/\+=]/', $str)
Más información sobre base64 en wikipedia
Ningun post realacionado
