5 expresiones regulares útiles para desarrollo web
Aunque a algunos nos gustan bastante las expresiones regulares, no está mal ofrecer una lista de alguna de ellas que nos pueden ser útiles cuando desarrollamos aplicaciones web.
- Usuario: está es sencilla, letras, dÃgitos y el subrayado, con una longitud entre 3 y 16 caracteres.
/^[a-zA-Z0-9_]{3,16}$/
- Etiquetas XHTML: habrá que sustituir la palabra etiqueta por la correspondiente que queremos buscar.
/]*>(.*?)<\/etiqueta>/
- Etiqueta con atributos: lo mismo que la anterior pero con atributos.
/]*atributo\s*=\s*(["'])valor\\1[^>]*>(.*?)<\/etiqueta>/
- Direcciones de correo: según la especificación RFC 822:
function is_valid_email_address($email){
$qtext = '[^\x0d\x22\x5c\x80-\xff]';
$dtext = '[^\x0d\x5b-\x5d\x80-\xff]';
$atom = '[^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c'.
'\x3e\x40\x5b-\x5d\x7f-\xff]+';
$quoted_pair = '\x5c[\x00-\x7f]';
$domain_literal = "\x5b($dtext|$quoted_pair)*\x5d";
$quoted_string = "\x22($qtext|$quoted_pair)*\x22";
$domain_ref = $atom;
$sub_domain = "($domain_ref|$domain_literal)";
$word = "($atom|$quoted_string)";
$domain = "$sub_domain(\x2e$sub_domain)*";
$local_part = "$word(\x2e$word)*";
$addr_spec = "$local_part\x40$domain";
return preg_match("!^$addr_spec$!", $email) ? 1 : 0;
}
- URL: para reconocer direcciones de internet:
{ \b # Parte principal (protocolo://dominio, o solo dominio) ( # http://, o https:// (https?)://[-\w]+(\.\w[-\w]*)+ | # Nombre de dominio (?i: [a-z0-9] (?:[-a-z0-9]*[a-z0-9])? \. )+ # subdominions # .com, .net... (?-i: com\b | edu\b | biz\b | gov\b | in(?:t|fo)\b # .int or .info | mil\b | net\b | org\b | [a-z][a-z]\.[a-z][a-z]\b # two-letter country code ) ) # Puerto ( : \d+ )? # El resto es opcional que empieza por / ( / [^.!,?;"\'<>()[]{}sx7F-\xFF]* ( [.!,?]+ [^.!,?;â€\’<>()\[\]{\}s\x7F-\xFF]+ )* )? }ix
5 Regular Expressions Every Web Programmer Should Know
VÃa / dzone