Nesse artigo irei falar um pouco sobre as poderosas expressões relulares no PHP. Meu objetivo aqui não é ensinar sobre elas, mas sim falar como elas podem ser úteis para validação de dados.
1. Email
Em muitos casos temos que validar se o usuário preencheu corretamente o campo “email” com um email válido, para isso podemos utilizar as expressões relugares:
<?php $email = "faelcalves@hotmail.com"; if (!eregi("^[a-z0-9_\.\-]+@[a-z0-9_\.\-]*[a-z0-9_\-]+\.[a-z]{2,4}$", $email)) { echo "Email inválido"; } ?>
2. Data
Muito útil também é saber se as datas enviadas estão em formato correto, ou seja, DD/MM/AAA:
<?php // VALIDAR DATA NO FORMATO DD/MM/AAAA $data = "22/01/1991"; if (!eregi("^[0-9]{2}/[0-9]{2}/[0-9]{4}$", $data)) { echo "Data em formato inválido."; } ?>
3. CEP
Em alguns casos temos que validar CEP, principalmente quando se trata de e-commerce:
<?php // VALIDAR CEP (XXXXX-XXX) $cep = "17052-150"; if (!eregi("^[0-9]{5}-[0-9]{3}$", $cep)) { echo "CEP inválido"; } ?>
4. Telefone
Bom o telefone pode ser colocado de várias maneiras, vamos ver algumas delas:
<?php // VALIDAR TELEFONE NO SEGUINTE FORMATO: DDD33333333 $telefone = "01432363810"; if (!eregi("^[0-9]{11}$", $telefone)) { echo "Telefone inválido"; } ?>
<?php // VALIDAR TELEFONE NO SEGUINTE FORMATO: 3333-3333 $telefone = "3236-3810"; if (!eregi("^[0-9]{4}-[0-9]{4}$", $telefone)) { echo "Telefone inválido"; } ?>
<?php // VALIDAR TELEFONE NO SEGUINTE FORMATO: (DDD) 3333-3333 $telefone = "(014) 3236-3810"; if (!eregi("^\([0-9]{3}\) [0-9]{4}-[0-9]{4}$", $telefone)) { echo "Telefone inválido"; } ?>
5. IP
Talvez não muito utilizado, porém em alguns casos temos que verificar de um endereço IP (IPv4) é válido, portanto utilizamos:
<?php $ip = "189.18.125.183"; if (!eregi("^([0-9]){1,3}.([0-9]){1,3}.([0-9]){1,3}.([0-9]){1,3}$", $ip)) { echo "IP Inválido"; } ?>
6. URL
Validamos também se uma URL, ou seja, um endereço de site é válido (com http://):
<?php $url = "https://rafaelcouto.com.br"; if (!preg_match("|^http(s)?://[a-z0-9-]+(\.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i", $url)) { echo "URL inválida"; } ?>
7. CPF
Bom essa não seria a melhor forma para validar um CPF, mais já ajuda, pelo menos em relação a pontuação:
<?php // VALIDAR CPF NO SEGUINTE FORMATO: XXX.XXX.XXX-XX $cpf = "111.444.777-35"; if (!eregi("^([0-9]){3}\.([0-9]){3}\.([0-9]){3}-([0-9]){2}$", $cpf)) { echo "CPF Inválido"; } ?>
Podemos chegar a conclusão que com as Expressões Regulares é possível validar praticamente qualquer tipo de dado, esses são alguns exemplos, porém se você se aprofundar mais em Expressões Regulares poderá fazer muito mais. Caso você que saber mais sobre as Expressões Regulares, recomendo alguns tutoriais:
http://pmarote.net/conaplphp/tutorial1f.html
http://www.phpit.com.br/artigos/entendendo-as-expressoes-regulares.phpit
Boa sorte =D
Até mais.