ARD Postado Agosto 1, 2007 Denunciar Share Postado Agosto 1, 2007 (editado) /** * Função que verifica se o CPF informado é válido * Utilização: 999.999.999-99 ou 99999999999 * @author Andre R. Duarte * @version 1.0 11/06/2007 - 15:59 * @param string $cpf * @return bool */ function CPF($cpf) { if(preg_match("/^(\d{3}\.){2}\d{3}-\d{2}$/",$cpf) || preg_match("/\d{11}$/",$cpf)) { $cpf = preg_replace("/[.-]/","",$cpf); if(substr_count($cpf,substr($cpf,0,1)) >= 11) { return false; } else { $cpf_temp = substr($cpf,0,9); $soma1 = 0; $soma2 = 0; for($i = 1; $i<= 9; $i++) { $soma1 += intval(substr($cpf,$i-1,1)) * $i; } $dv1 = $soma1 % 11; if($dv1 == 10) { $dv1 = 0; } $cpf_temp = $cpf_temp.$dv1; for($i = 0; $i<=9;$i++) { $soma2 += intval(substr($cpf_temp,$i,1)) * $i; } $dv2 = $soma2 % 11; if($dv2 == 10) { $dv2 = 0; } $cpf_final = $cpf_temp.$dv2; if(strcmp($cpf,$cpf_final)) { return false; } else { return true; } } } else { return false; } } Exemplo: if(!CPF("111.111.111-11")) { echo "Não é válido"; exit; } echo "CPF válido.";Vale lembrar que a função acima só faz o cálculo de validação do CPF. A função não faz nenhuma consulta no banco de dados da receita para saber se o CPF é realmente válido ou não. ;) Editado Agosto 1, 2007 por ard-webmaster Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ARD
Vale lembrar que a função acima só faz o cálculo de validação do CPF. A função não faz nenhuma consulta no banco de dados da receita para saber se o CPF é realmente válido ou não. ;)
Editado por ard-webmasterLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.