Como Válidar um CPF


Verificar se um CPF é válido

Válidar se um CPF realmente é válido significa verificar se ele segue os padrões de código do CPF, isto não quer dizer que ele de fato exista, apenas que ele segue o padrão de código. Validar o CPF na verdade é validar os dígitos verificadores, pois os nove dígitos iniciais são livres, apenas os 2 últimos seguem o algoritmo para válidar os demais. Neste ponto se você ainda não sabe a fórmula para gerar os dígitos verificadores, confira nossa página em que há a explicação detalhada de como obter os dígitos verificadores para conseguir um CPF válido acessando este link Fórmula para gerar CPF's Válidos - O que é um CPF válido e como é formado.
Se o que você procura é saber se um CPF de fato existe, acesse o site Comprovante de Situação Cadastral no CPF - Cadastro de Pessoa Física.

Como válidar os dígitos verificadores do CPF

Não há um procedimento ou fórmula para válidar o CPF diretamente, o que faremos é gerar os dígitos verificadores do CPF e comparar se são os dígitos verificadores que realmente estão no CPF que estamos validando.
Por exemplo: queremos válidar o CPF 121.232.323-22, aplicando a fórmula ensinada para obter os dígitos verificadores, percebemos que para este ser um CPF válido os dígitos verificadores deveriam ser 86, então este CPF não é válido, o CPF válido neste caso seria 121.232.323-86.
Bom, vamos a alguns exemplos de códigos para verificar o CPF.

Validando CPF em PHP

<?php function verificar_cpf( $cpf_validar ) { // remove pontos e traços $cpf_validar = str_replace("-", "", $cpf_validar); $cpf_validar = str_replace(".", "", $cpf_validar); // verificar se possui 11 posições if ( strlen( $cpf_validar ) != 11 ) { return false; } // pegando os 9 dígitos $codigo = substr($cpf_validar, 0, 9); // fazendo o cálculo para gerar o primeiro dígito $soma = 0; $numero_calculo = 10; for ($i=0; $i < 9; $i++) { $soma += ( $codigo[$i]*$numero_calculo-- ); } $resto = $soma%11; if($resto < 2) $codigo .= "0"; else $codigo .= (11-$resto); // fazendo o cálculo para gerar o segundo dígito $soma = 0; $numero_calculo = 11; for ($i=0; $i < 10; $i++) { $soma += ( $codigo[$i]*$numero_calculo-- ); } $resto = $soma%11; if($resto < 2) $codigo .= "0"; else $codigo .= (11-$resto); // Se forem iguais é porque é válido if ( $codigo === $cpf_validar ) { return true; } else { return false; } } ?>

Validando CPF em JavaScript

<script> function verificar_cpf( cpf_validar ) { // remove pontos e traços cpf_validar = cpf_validar.toString(); cpf_validar =cpf_validar.replace(/[^0-9]/g, ''); // verificar se possui 11 posições if ( cpf_validar.length != 11 ) { return false; } // pegando os 9 dígitos codigo = cpf_validar.substr(0, 9); // fazendo o cálculo para gerar o primeiro dígito soma = 0; numero_calculo = 10; for (i=0; i < 9; i++) { soma += ( codigo[i]*numero_calculo-- ); } $resto = soma%11; if($resto < 2) codigo += "0"; else codigo += (11-$resto); // fazendo o cálculo para gerar o segundo dígito soma = 0; numero_calculo = 11; for (i=0; i < 10; i++) { soma += ( codigo[i]*numero_calculo-- ); } $resto = soma%11; if($resto < 2) codigo += "0"; else codigo += (11-$resto); // Se forem iguais é porque é válido if ( codigo === cpf_validar ) { return true; } else { return false; } } </script>

Espero ter ajudado a entenderem melhor um pouco sobre como fazer a validação de CPF, que na verdade se resume em calcular os dígitos verificadores e comparar com os dígitos do CPF que se quer validar.

Mas para facilitar, caso queiram gerar seus CPF's válidos de maneira rápida e descomplicada para seus testes, acesse nosso Gerador de CPF.

patrocinadores

Wilson Neto - Marketing Digital