Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola estou desenvolvendo um sistema e gostaroia de uma ajuda!
Quero validar a data de nascimento e cpf em algum orgam tipo receita federal mas para isso precisa ser todo em php algo usando curl.
O algoritmo em questão apenas verifica se a formação do número é válida, mas não se o CPF de fato existe "no mundo real", o problema de valiar no site da receita é o captcha que existe.
O algoritmo em questão apenas verifica se a formação do número é válida, mas não se o CPF de fato existe "no mundo real", o problema de valiar no site da receita é o captcha que existe.
De fato, me expressei mal, desculpem.
Todavia, acho que ai é mais próximo possível de uma "validação" a não ser que tenha acesso ao banco de dados da receita, rs, ou queira brincar de acessar ilegalmente a página da receita tentando "burlar" ou "quebrar" o captcha.
Oi!
Para validar data, simples: chekdate(), estude-a.
Para validar o CPF, não precisa acessar a receita, existe um algorítimo (disponível aqui no iMasters, link na função) para isto. Eu desenvolvi uma função baseada nele, veja:
function validaCPF( $valor = '' ) {
http://imasters.com.br/artigo/2410/javascript/algoritmo-do-cpf/
$n = substr($doc, 0, 9); // numeros $v = substr($doc, 9); // digitos verificadores do cpf// verificador 1
$_n = str_split($n); // matriz com numeros do cpf
$multiplicador = 10; // multiplicador do dígito 1
$d1Total = 0; // soma dos numeros * multiplicador
$d1Resto = $d1Total % 11; // calculo do digito 1 baseado no resto da divisao da soma por 11
$d1 = $d1Resto >= 2 ? 11 - (int)$d1Resto : 0; // digito verificador 1
// verificador 2
$_n[] = $d1; // acrescenta o primeiro digito verificador a matriz
$multiplicador = 11; // multiplicador do dígito 2
$d2Total = 0; // soma dos numeros * multiplicador
$d2Resto = $d2Total % 11; // calculo do digito 2 baseado no resto da divisao da soma por 11
$d2 = $d2Resto >= 2 ? 11 - (int)$d2Resto : 0; // digito verificador 2
Edit:
A função textoNumeros(), que esqueci de postar, desculpe, é apenas extrair apenas números do valor passado a função. Segue:
function textoNumeros( $texto = '' ) { return preg_replace('/[^0-9]/', '', trim($texto)); }
Abraço e boa sorte.