Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function valida_cpf($cpf = false) {
- function calc_digitos_posicoes($digitos, $posicoes = 10, $soma_digitos = 0) {
- for ($i = 0; $i < strlen($digitos); $i++) {
- $soma_digitos = $soma_digitos + ( $digitos[$i] * $posicoes );
- $posicoes--;
- }
- $soma_digitos = $soma_digitos % 11;
- if ($soma_digitos < 2) {
- $soma_digitos = 0;
- } else {
- $soma_digitos = 11 - $soma_digitos;
- }
- $cpf = $digitos . $soma_digitos;
- return $cpf;
- }
- if (!$cpf) {
- return false;
- }
- $cpf = preg_replace('/[^0-9]/is', '', $cpf);
- if (strlen($cpf) != 11) {
- return false;
- }
- $digitos = substr($cpf, 0, 9);
- $novo_cpf = calc_digitos_posicoes($digitos);
- $novo_cpf = calc_digitos_posicoes($novo_cpf, 11);
- if ($novo_cpf === $cpf) {
- if (str_repeat($cpf, 11) == $digitos) {
- return false;
- } else {
- return true;
- }
- } else {
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement