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

Validar CPF com PHP ao submeter formulário


Roberto Moreno

Pergunta

Boa tarde. Estou fazendo um site em PHP que tem um formulário de cadastro com diversos campos, e um deles pede o CPF.

Preciso que, assim que for acionado o Submit, seja feita uma validação do CPF e, se for inválido, exiba uma mensagem antes de mandar os dados para processamento, assim como o HTML5 já faz com o campo Email, por exemplo.

Como resolver? 

Obrigado

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Opa bão,

Roberto, encontrei um script em PHP na web que pode lhe ajudar. É uma função que você pode utilizar para validar o CPF e se ele for inválido retornar alguma mensagem de erro. Esta é uma solução para o "backend" ou seja, ele vai validar depois que você fizer a requisição, é possível validar também antes de enviar o formulário como o HTML5 mas aí já é um script em JS/Jquery. Se este abaixou não servir, posso publicar também o JS.

<?php

function validaCPF($cpf) {
    if (strlen($value) !== 11 || preg_match('/(\d)\1{10}/', $value)) {
        return false;
    }

    for ($t = 9; $t < 11; $t++) {
        for ($d = 0, $c = 0; $c < $t; $c++) {
            $d += $value{$c} * (($t + 1) - $c);
        }

        $d = ((10 * $d) % 11) % 10;

        if ($value{$c} != $d) {
            return false;
        }
    }

    return true;
}

Fonte: https://gist.github.com/rafael-neri/ab3e58803a08cb4def059fce4e3c0e40

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