Catalogo y Ejemplos de expresiones regulares MiniBlog, Programación - 22 de June de 2009 | 8:14 am | Sin comentarios



Una de las cosas mas  difíciles o que tienen una curvatura de aprendizaje diferente  son las expresiones regulares.  Pero una vez que encuentras el truco ya no es tan difícil.

Les dejo los mejores manuales de expresiones regulares y los ejemplos mas esenciales o importantes.

Expresiones regulares que siempre se ocupan:

Expresión regular para números de telefonos

$string = "(232) 555-5555";
if (preg_match('/^\(?[0-9]{3}\)?|[0-9]{3}[-. ]? [0-9]{3}[-. ]?[0-9]{4}$/', $string)) {
echo "This is a valid phone number.";
}

Una de las cosas mas difíciles o que tienen una curvatura de aprendizaje diferente son las expresiones regulares. Pero una vez que encuentras el truco ya no es tan difícil.

Les dejo los mejores manuales de expresiones regulares y los ejemplos mas esenciales o importantes.

Expresiones regulares que siempre se ocupan:

Expresión regular para números de teléfonos

$string = "(232) 555-5555";
if (preg_match('/^\(?[0-9]{3}\)?|[0-9]{3}[-. ]? [0-9]{3}[-. ]?[0-9]{4}$/', $string)) {
echo "Esto es un teléfono válido";
}

Expresión regular para códigos postales

	$string = "55324-4324";
if (preg_match('/^[0-9]{5,5}([- ]?[0-9]{4,4})?$/', $string)) {
echo "Cópdigo Postal válido";
}

Expresión regular para Username

function validate_username( $username ) {
  if(preg_match('/^[a-zA-Z0-9_]{3,16}$/', $_GET['username'])) {
    return true;
  }
  return false;
}

Expresión regular para XHTML/XML tag

function get_tag( $tag, $xml ) {
  $tag = preg_quote($tag);
  preg_match_all('{<'.$tag.'[^>]*>(.*?).'}',
                   $xml,
                   $matches,
                   PREG_PATTERN_ORDER);
 
  return $matches[1];
}

Expresión regular para URL o dirección

$szString = "http://www.talkPHP.com";
if (preg_match('/^(http|https|ftp):\/\/([\w]*)\.([\w]*)\.(com|net|org|biz|info|mobi|us|cc|bz|tv|ws|name|co|me)(\.[a-z]{1,3})?\z/i', $szString))
    echo "Es una dirección URL válida";

Expresión regular para Email

$string = "first.last@domain.co.uk";
if (preg_match(
'/^[^\W][a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\@[a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\.[a-zA-Z]{2,4}$/',
$string)) {
echo "Este es un email válido."

Expresión regular para Número de Tarjeta de Crédito

 	function luhn (cc) {
   var sum = 0;
   var i;
 
   for (i = cc.length - 2; i >= 0; i -= 2) {
      sum += Array (0, 2, 4, 6, 8, 1, 3, 5, 7, 9) [parseInt (cc.charAt (i), 10)];
   }
   for (i = cc.length - 1; i >= 0; i -= 2) {
      sum += parseInt (cc.charAt (i), 10);
   }
   return (sum % 10) == 0;
}

Fuente:smashingmagazine.com



Leave a Reply