Olá pessoal…será que alguém sabe de algum site que explica como validar o RG ou tem alguma rotina pra fazer esta validação???
obrigado…
Validação de RG
16 Respostas
Cara, acho q nao existe algoritimo para validacao de RG
Putz… eu fiz isso outro dia aí… pelo menos para os RGs de SP.
Vou procurar e te falo!
O problema do RG é que cada estado usa um algoritmo diferente. Vai ter que pesquisar como é feito em cada estado e pedir pro usuário dizer em qual estado ele tirou o RG pra aplicar o algoritmo certo.
Por isso que nunca uso RG, só CPF.
[]'s
Se alguém tiver uma de cpf e poder postar seria lega tb…
Rocha
CPF vc acha fácil no Google em qualquer linguagem.
Mas só pq tô de bom de humor já adianto um site que tem:
http://www2.fundao.pro.br/articles.asp?cod=23
[]'s
No próprio GUJ tem.
É só procurar.
Cara, eu não tenho certeza, mas eu acho que é assim
vc pega e multiplica cada número de trás pra frente(um por vez) por 9, depois por 8, depois por 7…
soma tudo, pega o resto da divisão por 11
o número que der deve ser igual ao dígito verificador, se o resultado for 10, o dígito é X
[]´s
Algorítmo para validar RG de São Paulo (SSP/SP):
Imagine um número: 12.345.678-9
Para validar, faça assim:
1ro dígito x 9
2o x 8
3o x 7
4o x 6
5o x 5
6o x 4
7o x 3
8o x 2
Soma-se tudo.
Desse total, pega o resto da divisão por 11. O que for o resto, deve ser o dígito.
Se resto = 10, dígito = X.
Esse funciona…
public class CPFValidator {
/**
* Método para verifica se determinado cpf é válido.
* @param cpf - Uma String contendo o cpf.
* @return true se o cpf é válido e false se não é válido.
* @author FONTE: www.guj.com.br
*/
public static boolean validaCpf(String xCPF){
try {
int d1, d4, xx, nCount, resto, digito1, digito2;
String Check;
String Separadores = "/-.";
d1 = 0; d4 = 0; xx = 1;
for (nCount = 0; nCount < xCPF.length() -2; nCount++){
String s_aux = xCPF.substring(nCount, nCount+1);
if (Separadores.indexOf(s_aux) == -1) {
d1 = d1 + ( 11 - xx ) * Integer.valueOf (s_aux).intValue();
d4 = d4 + ( 12 - xx ) * Integer.valueOf (s_aux).intValue();
xx++;
}
}
resto = (d1 % 11);
if (resto < 2)
digito1 = 0;
else
digito1 = 11 - resto;
d4 = d4 + 2 * digito1;
resto = (d4 % 11);
if (resto < 2)
digito2 = 0;
else
digito2 = 11 - resto;
Check = String.valueOf(digito1) + String.valueOf(digito2);
String s_aux2 = xCPF.substring (xCPF.length()-2, xCPF.length());
if (s_aux2.compareTo (Check) != 0)
return false;
return true;
}catch (Exception e){
return false;
}
}
}
Salve como index.html
<html> <head> <title>Gerador de CPF</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> Digite os nove (9) primeiros dígitos de seu CPF ou então digite quaisquer nove primeiros digitos e ele gera um CPF valido a partir desses digitos. <form name="form"> <input type="text"name="CPF"id="cpf"maxlength="9"> <input type="button"value="Criar CPF"onClick="criar()"> </form> <script language="javascript"> function criar(){ var cnpj=document.getElementById('cpf').value; if(cnpj.length!=9){ alert("Preencha os nove campos!"); return false; } if(isNaN(cnpj)){ alert("Preencha somente com dados numéricos!"); return false; } if(cnpj!=!isNaN){ for(i=0;i<=cnpj.length;i++) total=cnpj.length; campo01=0; campo02=0; n1=cnpj.substring(0,total-8); n2=cnpj.substring(1,total-7); n3=cnpj.substring(2,total-6); n4=cnpj.substring(3,total-5); n5=cnpj.substring(4,total-4); n6=cnpj.substring(5,total-3); n7=cnpj.substring(6,total-2); n8=cnpj.substring(7,total-1); n9=cnpj.substring(8,total); tt1=parseFloat((n1*10)+(n2*9)+(n3*8)+(n4*7)+(n5*6)+(n6*5)+(n7*4)+(n8*3)+(n9*2)); div1=(tt1%11); if(div1<2){ campo01+=0; } if(div1>=2){ campo01+=parseFloat(11-div1); } tt2=parseFloat((n1*11)+(n2*10)+(n3*9)+(n4*8)+(n5*7)+(n6*6)+(n7*5)+(n8*4)+(n9*3)+(campo01*2)); div2=(tt2%11); if(div2<2){ campo02+=0; } if(div2>=2){ campo02+=parseFloat(11-div2); } alert(n1+''+n2+''+n3+''+n4+''+n5+''+n6+''+n7+''+n8+''+n9+'-'+campo01+''+campo02); return; } } </script> </body> </html>
Tenho netbeans 6.1 coloqueu esse codigo nele e esta dando erro no public class CPFValidator { como resouver esse problema?
1 - abra o bloco de notas
2 - cole o código postado
3 - clique em arquivo/salvar como
4 - salve como index.html
5 - abra com qq navegador o arquivo gerado
6 - siga as instrucoes do sistema
Cara, tens como postar o erro aqui ?
Senão fica meio difícil de saber o que é…, pois aqui ta funcionando!
É bom dar uma olhada nos tópicos antigos do GUJ, pois eu já havia postado o código para validar CPF.
Pessoal, estou anexando códigos para validar CPF, CNPJ e Título Eleitoral, junto com um programinha para testar cada um deles.
Também tenho outras funções matemáticas, se alguém quiser é só aviar que eu posto.
É bom dar uma olhada nos tópicos antigos do GUJ, pois eu já havia postado o código para validar CPF.Pessoal, estou anexando códigos para validar CFP, CNPJ e Título Eleitoral, junto com um programinha para testar cada um deles.
Também tenho outras funções matemáticas, se alguém quiser é só aviar que eu posto.
Que funções vc tem?
Funções básica que sempre caem em cursos técnicos e nas primeiras cadeiras da facul, tipo IMC, números perfeitos, números primos, Bhaskara…