-
- PHP: Oito expressões regulares úteis
- Enviado em 02/09/2010 23:41
Google menos! Seguem abaixo exemplos de expressões regulares prontas para serem utilizadas como exemplo, na validação de campos de formulários (:
Validar usernames
Valida usernames de 4 a 28 caracteres alfa e com acentos:
$string = "userNaME4234432_"; if (preg_match('/^[a-z\d_]{4,28}$/i', $string)) { echo "example 1 successful."; }
Números telefônicos
Valida números de telefone com máscara (###)###-####:
$string = "(032)555-5555"; if (preg_match('/^(\(?[2-9]{1}[0-9]{2}\)?|[0-9]{3,3}[-. ]?)[ ][0-9]{3,3}[-. ]?[0-9]{4,4}$/', $string)) { echo "example 2 successful."; }
Endereços de e-mail
$string = "first.last@domain.co.uk"; 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}$/', $string)) { echo "example 3 successful."; }
Códigos Postais
Códigos com máscaras xxxxx e xxxxx-xxxx
$string = "55324-4324"; if (preg_match('/^[0-9]{5,5}([- ]?[0-9]{4,4})?$/', $string)) { echo "example 4 successful."; }
Endereços IP
Não é necessário efetuar PING ou qualquer coisa do tipo, essa regra é válida para verificar se os IPs foram escritos corretamente, como esse exemplo 255.255.255.0:
$string = "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}, $string)) { echo "example 5 successful."; } [/php]
Cores Hexadecimais
Valida nos padrões #333, 333, #333333 e 333333 (símbolo # opcional)
$string = "#666666"; if (preg_match('/^#(?:(?:[a-f\d]{3}){1,2})$/i', $string)) { echo "example 6 successful."; }
Buscar comentários multi-linha
Uma forma simples de buscar e eliminar comentários multi-linha em PHP, CSS e outras linguagens:
$string = "/* commmmment */"; if (preg_match('/^[(/*)+.+(*/)]$/', $string)) { echo "example 7 successful."; }
Datas
Valida datas no formato MM/DD/YYYY:
$string = "10/15/2007"; if (preg_match('/^\d{1,2}\/\d{1,2}\/\d{4}$/', $string)) { echo "example 8 successful."; }
Dicas por Pinceladas da Web, original por Carlos Leopoldo.
Abraços do Zatec
Envie seu comentário!Comentário
Nome:
E-mail: (Não será divulgado)
Site ou blog: (Opcional)
Comentário: (Máximo de 255 caracteres)
Veja também:

© MMIX-MMXII Guilherme Augusto Madaleno
Termos e Privacidade • Suporte • Contato







Muito bouuuuuuuua a dica :)
É uma boa utilizar "checkdnsrr()" para validar emails (em linux). Em windows seria: "win_checkdnsrr()" (deve ser implementada, vários tutorias na net sobre). Sobre a postagem: BOA! precisei dessa do tempo (atualização tempo)... vlw
Boa dica Vinícius. Obrigado!