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
$telefone = "(54) 9613-4396";
if (preg_match('/^(\(?[0-9]{2}\)?|[-. ]?)[ ][0-9]{4}[-. ]?[0-9]{4}$/', $telefone)) {
echo "Telefone válido";
}
CEP
$cep = "99150-000";
if (preg_match('/^[0-9]{5,5}([- ]?[0-9]{4})?$/', $cep)) {
echo "CEP válido";
}
Comentários em várias linhas
$comentario = "/* comentario bla bla bla*/";
if (preg_match('/^[(/*)+.+(*/)]$/', $comentario)) {
echo "Comentário válido";
}
Datas (padrão brasileiro)
$data = "12/04/1990";
if (preg_match('/^\d{1,2}\/\d{1,2}\/\d{4}$/', $data)) {
echo "Data válida";
}
Cores hexadecimais
$cor = "#666666";
if (preg_match('/^#(?:(?:[a-f\d]{3}){1,2})$/i', $cor)) {
echo "Cor válida";
}
Endereços IP
$ip = "255.255.255.0";
if (preg_match('^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:[.](?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$', $ip)) {
echo "IP válido";
}
E-mails
$email = "contato@fonini.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";
}



