Expresiones Regulares


Una expresión regular nos permite describir un conjunto de cadenas sin necesidad de enumerar sus elementos, la ventaja de aplicarlo a nuestro desarrollo es la facilidad con que podemos evaluar una cadena de datos, por ejemplo saber si el correo electrónico ingresado en un input es correcto o no.

A simple vista puede resultar complejo debido a lo que significa cada símbolo y la serie de combinaciones que puedes realizar entre ellos, es por ello que te dejo algunos ejemplos en este post.

Expresión Regular Es decir…
foo La cadena “foo”
^foo “foo” al inicio de la cadena
foo$ “foo” al final del a cadena
^foo$ “foo” cuando está solo en la cadena
[abc] a, b, ó c
[a-z] Cualquier letra minúscula de “a” hasta “z”
[^A-Z] Cualquier caracter que no incluya una letra mayúscula de la A a la Z
(com | org) Que coincidan con “com” u “org”
[a-z]+ Una o más letras minúsculas
[0-9.-] Cualquiern número, punto o el signo menos
^[a-zA-Z0-9_]{1,}$ Cualquier palabra con al menos una letra, número o signo _
([wx])([yz]) wy, wz, xy, ó xz
[^A-Za-z0-9] Cualquier símbolo pero no una letra o número

Ejemplos prácticos en PHP:

function validarUsuario($nombre){

    return preg_match("#^[a-z][da-z_]{6,22}[a-zd]$#i", $nombre);

}

function validarEmail($email){

    $reg "#^(((([a-zd][.-+_]?)*)[a-z0-9])+)@(((([a-zd][.-_]?){0,62})[a-zd])+).([a-zd]{2,6})$#i";
    return preg_match($reg$email);
}

function validarFecha($fecha){

    $sep = "[/-.]";
    $req = "#^(((0?[1-9]|1d|2[0-8]){$sep}(0?[1-9]|1[012])|(29|30){$sep}(0?[13456789]|1[012])|31{$sep}(0?[13578]|1[02])){$sep}(19|[2-9]d)d{2}|29{$sep}0?2{$sep}((19|[2-9]d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00)))$#";
    return preg_match($reg, $fecha);
}

function validarTelefono($numero{

  $reg = "#^(?d{3})?[s.-]?d{3}[s.-]?d{4}$#";
  return preg_match($reg, $numero);
}

Como usar

if(validarUsuario("nombreUsuario")){

    echo "usuario valido";

}else { echo "usuario invalido"}

Si tienen más expresiones regulares que les sean útil en su trabajo o proyectos personales🙂 te agradecería un comentario y así lo compartas con la comunidad.

Acerca de silvercorp

Blog personal de Ye§i creado el 18/Ag/06 enfocado al diseño gráfico, tecnología y programación.

Publicado el junio 15, 2012 en Mi Espacio, Programación. Añade a favoritos el enlace permanente. Deja un comentario.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: