Ir para conteúdo
Fórum Script Brasil
  • 0

Validação De Cpf


ARD

Pergunta

/**
 * 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 por ard-webmaster
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...