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

Verificador de C.P.F


Jonathan Queiroz

Pergunta

Um membro havia postado uma dúvida com um verificador de CPF e eu resolvi criar um script para que possam utilizar em suas aplicações

Código:

<html>
<head>
<script type="text/javascript">
var cpf;
var digito = new Array(11);
var digito2 = new Array(11);
var total_numero_d10 = 0
var total_numero_d11 = 0
var valor1;
var valor2;

function Valida() {
    cpf = document.form.cpf.value.toString()
    //Retira os pontos (".") e traços ("-") do CPF
    cpf = cpf.replace(".","")
    cpf = cpf.replace(".","")
    cpf = cpf.replace(".","")
    cpf = cpf.replace("-","")
    if (cpf=="") {
        //O usuário deixou o campo em banco
        alert("Digite um C.P.F para validar")
    }else if (cpf.length!=11) {
        // O cpf informado não possui 11 dígitos
        alert("O CPF digitado é inválido !\nNão possui 11 dígitos")
    }else if (isNaN(cpf)) {
    alert("O CPF informado não é um número válido")
    }else{
        /* Nessa parte iremos fazer a verificação completa do CPF */
            // Atribui valor às posições 10 e 11 do array (dígitos verificadores)
            digito[10] = cpf.charAt(9)
            digito[11] = cpf.charAt(10)

            // Faz uma array com os números de 10 a 2
            for (i=11;i>=2;i--) {
                digito2[i] = i
            }
            // Verifica os dígitos informados no CPF
            for (i=1;i<=9;i++) {
                digito[i] = cpf.charAt(i-1)
                total_numero_d10 += parseInt(digito[i])*parseInt(digito2[11-i])
            }
            valor1 = total_numero_d10 % 11
            if (valor1<2) {
                valor1 = 0
            }else{
                valor1 = 11 - valor1
            }
            for (i=1;i<=9;i++) {
                total_numero_d11 += parseInt(digito[i])*(11-i+1)
            }

            total_numero_d11 += valor1*2
            valor2 = total_numero_d11 % 11
            if (valor2<2) {
                valor2 = 0
            }else {
                valor2 = 11 - valor2
            }
            // Verifica se os dígitos conferem
            if (digito[10]==valor1 && digito[11]==valor2) {
                // O CPF é válido
                alert("O CPF informado é válido !")
            }else{
                // O CPF não é válido
                alert("O CPF informado não é válido")
            }
    }
}
</script>
<title> </title>
</head>
<body>
<form name="form">
<input type="text" name="cpf" />
<input onclick="Valida()" type="button" value="Executar">
</form>
</body>
</html>

Espero ter ajudado !!

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Opa !

Se alguém quiser expressar sua opinião, fazer críticas/melhorias, se sinta à vontade !

Obs.:

Estarei postando mais códigos prontos aqui no repositório de scripts.

Espero tornar essa área mais movimentada (praticamente não tem posts recentes aqui, a maioria dos códigos são antigos)

Link para o comentário
Compartilhar em outros sites

  • 0

Jonathan, eu não tenho o código aqui comigo agora, mas dá uma olhada no javascript que eu te mandei (do Desafio JS).

Você pode usar regexp (expressões regulares) no replace pra fazer tudo numa linha só (excluir qualquer coisa que não seja um número).

;)

Link para o comentário
Compartilhar em outros sites

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
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...