Hoje vou mostrar algumas expressões regulares que podem ser muito úteis. Pra quem não conhece, recomendo a leitura do Guia de Expressões Regulares Online (http://guia-er.sourceforge.net ). Os exemplos estão em PHP, mas podem ser facilmente adaptados para qualquer linguagem que suporte regex.
Números de telefone
<?php
$telefone = "(54) 9613-4396" ;
if ( preg_match ( '/^((?[0-9]{2})?|[-. ]?)[ ][0-9]{4}[-. ]?[0-9]{4}$/' , $telefone )) {
echo "Telefone válido" ;
}
CEP
<?php
$cep = "99150-000" ;
if ( preg_match ( '/^[0-9]{5,5}([- ]?[0-9]{4})?$/' , $cep )) {
echo "CEP válido" ;
}
Comentários em várias linhas
<?php
$comentario = "/*comentario bla bla bla*/" ;
if ( preg_match ( '/^[(/*)+.+(*/)]$/' , $comentario )) {
echo "Comentário válido" ;
}
Datas (padrão brasileiro)
<?php
$data = "12/04/1990" ;
if ( preg_match ( '/^d{1,2}/d{1,2}/d{4}$/' , $data )) {
echo "Data válida" ;
}
Cores hexadecimais
<?php
$cor = "#666666" ;
if ( preg_match ( '/^#(?:(?:[a-fd]{3}){1,2})$/i' , $cor )) {
echo "Cor válida" ;
}
Endereços IP
<?php
$ip = "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}$' , $ip )) {
echo "IP válido" ;
}
E-mails
<?php
$email = "contato@email.net" ;
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 "E-mail válido" ;
}