Depois de um longo período sem nada útil, vamos continuar a série mais querida deste blog: “Validação de dados em PHP5”.
Está é a parte 3 da série, e talvez a última ( a menos que surjam pedidos ou dúvidas ) da série, se você não viu, veja: parte 1, parte 2.
Como falei na parte 2, o PHP trabalha com dois padrões de ER ( Expressões Regulares ): o padrão PCRE e o padrão POSIX. Adotaremos de agora em diante o padrão PCRE por ser recomendado pelo próprio manual do PHP.
Na última parte fizemos a validação de um número de CEP.
Agora veremos outros casos de uso, primeiro dois casos simples como o do CEP, um para validar um número de telefone ( possivelmente de celular ) e outro para validar um endereço de email – este último muito útil e utilizado, pois permite uma alta confiabilidade nos dados verificados.
Nossa ER para validar um telefone:
$telER = ‘/(\([0-9]{2}\)\ )?[0-9]{4}\-[0-9]{4}/’; //formato: (67) 9999-0000
Simples não é? Que tal “complicar” um pouco mais? Então compliquemos:
//formato: 0556733334444 ou 06733334444 ou 3333-4444
$telER = '/(0((([0-9]{2}){2})|([0-9]{2})))?[0-9]{3,5}[0-9]{4}/';
E como validar uma data? Fácil fácil…
//formato: 01/01/1001
$dataER = '/(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/[12][0-9]{3}/';
Validar um CNPJ:
//formato: 11.222.333/0001-01
$cnpjER = '/[0-9]{2}\.[0-9]{3}\.[0-9]{3}\/[0-9]{4}\-[0-9]{2}/';
Depois que a gente começa, não da vontade de parar, mas parem mesmo assim. Agora que já viram alguns exemplos de ER, tentem fazer a de vocês mesmos. Façam uma ER para validar uma idade ( considerem que existe gente com mais de 100 anos ).
Depois de você ter feito suas ER, pode continuar…
Vamos validar um endereço de email agora:
//formato: [email protected] ou [email protected]
$emailER = '/[[:alnum:]]\@[[:alnum:]]+(\.[[:alnum:]])+/';
Será que já ta bom?
Não, mas chega de mostrar ER pronta para vocês, ta, uma última vez, fiz um arquivo de teste explicando algumas ER: Expressões Regulares . Espero que seja útil.
Lembrem-se que estou utilizando o padrão PCRE, então nada de usar estas expressões com as funções “ereg”.
Enquanto escrevia esta parte, pensei em algumas coisas para continuação. Então, ainda esta semana concluo.
Até.
ps.: para quem ver o arquivo e ficar curioso sobre a verificação extra do CPF, saiba que é utilizado o Algoritmo de Validação do CPF ( procure por este termo no Google ) implementado em PHP pelo Jefferson Estanislau da Silva e disponibilizado no link: http://www.vivaolinux.com.br/scripts/verScript.php?codigo=401. Fiz algumas alterações, pois no original, usava ER no padrão POSIX. Darei mais detalhes na continuação.