Array
(
)

Verificar se RG é Válido, ajuda

Fabio Volpe
   - 09 abr 2009

Olá a todos, eu li no site: http://www.profcardy.com/artigos/rg.php para ver como o RG é verificado como sendo válido ou não, então tentei fazer o seguinte código: o JRg é um JFormattedTextField #Código // verifica se o RG é válido em tempo de execução jRg.addFocusListener(new FocusAdapter() { String A,B,C,D,E,F,G,H,I = ""; int a,b,c,d,j,f,g,h,i,resul; public void focusLost(FocusEvent e) { A = jRg.getText().substring(0); B = jRg.getText().substring(1); C = jRg.getText().substring(3); D = jRg.getText().substring(4); E = jRg.getText().substring(5); F = jRg.getText().substring(7); G = jRg.getText().substring(8); H = jRg.getText().substring(9); I = jRg.getText().substring(11); a = Integer.parseInt(A); b = Integer.parseInt(B); c = Integer.parseInt(C); d = Integer.parseInt(D); j = Integer.parseInt(E); f = Integer.parseInt(F); g = Integer.parseInt(G); h = Integer.parseInt(H); i = Integer.parseInt(I); resul = (((2*a)+(3*b)+(4*c)+(5*d)+(6*j)+(7*f)+(8*g)+(9*h)+(10*i))/11)%10; if(resul!=0) { JOptionPane.showMessageDialog(null,"R.G. Inválido", "Informação ", JOptionPane.INFORMATION_MESSAGE); jRg.setText(""); jRg.requestFocus(); } } }); Mas na hora que eu executo dá o seguinte erro: Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "33.333.333-3" Alguém poderia me ajudar? Muito Obrigado

Giovane Kuhn
   - 09 abr 2009

Validar RG ??? hmmm isso me parece beeem estranho, nunca vi uma rotina dessas ! mas vamos lah... seu problema esta no substring... utilize assim: #Código A = jRg.getText().substring(0, 1); B = jRg.getText().substring(1, 1); C = jRg.getText().substring(3, 1); ... Flow

0
|
0

Bruno Borges
   - 09 abr 2009

num eh por nada, mas nunca vi validacao de RG, principalmente pelo basico: nao existe PADRAO de RG... :) num eh q nem CPF (q tem ateh formula pra validar os digitos finais)

0
|
0

Bruno Borges
   - 09 abr 2009


Citação:
="do proprio site"]O chamado "Registro Geral" é sempre relativo a um particular órgão emissor, cada qual com a sua regra matemática de autenticidade... Aqui temos a exposição da regra matemática que justifica a composição numérica do dígito do RG, particularmente emitido pela SSP-SP.
Existem numeros de RG que podem conter letras !!! e o pior de tudo, esses numeros podem ser repetidos entre os estados. Um Abraço, Dennis

0
|
0

Diego
   - 09 abr 2009

OLÁ, PESSOAL...... ESSE CODIGO NÃO ESTA FUNCIONANDO..... SE ALGUEM TIVER OUTRA SUGESTÃO ME AJUDEM.....

0
|
0

Carlos Heuberger
   - 09 abr 2009

Oi, sugestao: #Código private static final String RG_PATTERN = "\\d\\d\\.\\d\\d\\d\\.\\d\\d\\d-\\d"; public static boolean checkRG(String rg) { // rg = "ab.cde.fgh-i" // testar formato (opcional) if (! rg.matches(RG_PATTERN)) { System.err.println(rg + " formato"); return false; } int a = rg.charAt(0) - '0'; int b = rg.charAt(1) - '0'; // . = rg.charAt(2) int c = rg.charAt(3) - '0'; int d = rg.charAt(4) - '0'; int e = rg.charAt(5) - '0'; // . = rg.charAt(6) int f = rg.charAt(7) - '0'; int g = rg.charAt(8) - '0'; int h = rg.charAt(9) - '0'; // - = rg.charAt(10) int i = rg.charAt(11) - '0'; int result = 2*a + 3*b + 4*c + 5*d + 6*e + 7*f + 8*g + 9*h + 100*i; return (result % 11) == 0; } []]]

0
|
0

Tiago Peczenyj
   - 09 abr 2009

VC quer validar CPF. RG dependendo do estado pode ter letra até...

0
|
0

Carlos Eduardo
   - 09 abr 2009

Gostaria de saber como eu faço para verificar o numero de um rg que contem letra ! alguem pode me ajudar ? ateh +

0
|
0

Gabriel Millian
   - 09 abr 2009

A melhor coisa a fazer é não validar o RG. Os números mais antigos nem possuem dígito verificador, nem letra nem nada.

0
|
0