Validar Renavam - URGENTE

12 respostas
FelipeGeorge13

alguem conhece algum codigo para validar o RENAVAM ???

eu nao achei nada na web…!

desde ja agradeco…!

12 Respostas

ViniGodoy

Em VB é assim:

Esquece estava errado.

renanpto

Espero que ajude:

final public static boolean isValidRENAVAM(String renavam) {
		if (renavam == null || renavam.trim().length() != 9)
			return false;

		int calc = 0;
		int digito = Integer.valueOf(renavam.substring(8, 9)).intValue();

		for (int i = 0; i < renavam.length() - 1; i++) {
			calc += Integer.valueOf(renavam.substring(i, i + 1)).intValue() * (i + 2);
		}

		return (calc % 11 == digito || calc % 11 == 0);
	}
FelipeGeorge13

ow eu testei esse ai feito em java, e ele valida qq numero de renavam....

eu tenho um e nao estah dando certo:

public static boolean validaRenavam(String value) {  
		     int j = 0;  
		     int soma = 0;  
		   
		     int[] numeros = new int[5];  
		     int valor;  
		     for (int i = 0; i < 5; i++) {  
		         numeros[i] = Integer.valueOf(value.substring(i, i + 1));  
		     }  
		   
		     for (int i = 5; i >= 2; i--) {  
		         soma = soma + (numeros[j] * i);  
		         j = j + 1;  
		     }  
		   
		     valor = soma % 11;  
		   
		     int digito;  
		     if (valor == 1 || valor == 0 || valor >= 10)  
		         digito = 0;  
		     else  
		         digito = valor;  
		  
		     if (digito == numeros[4])  
		         return true;  
		     else  
		         return false;  
		 }
FelipeGeorge13

vcs tem algum ai para me ajudar???

ViniGodoy

Ok, formulei esse aqui em Java. Teste aí:

public static int calcularDigito(String renavam)
    {
        int soma = 0;
        for (int i = 0; i < 8; i++)
        {
            soma += Integer.parseInt(renavam.substring(i,i+1))*(i+2);
        }
        soma = soma % 11;
        return soma == 10 ? 0 : soma;
    }
FelipeGeorge13

se retornar 0 qr diser q ele eh INVALIDO?
e se retornar soma VALIDO?

nei.junior

Felipe !
Nesse link um rapaz explica a regra de como valdiar Renavam. Só que ele esta mostrando exemplo depois em Delphi ou VB.

http://forum.clubedohardware.com.br/digito-verificador/375738?s=8456c6a3cd737319adb3571c3d42d5d7&

Espero que ajude !

ViniGodoy

nei.junior:
Felipe !
Nesse link um rapaz explica a regra de como valdiar Renavam. Só que ele esta mostrando exemplo depois em Delphi ou VB.

http://forum.clubedohardware.com.br/digito-verificador/375738?s=8456c6a3cd737319adb3571c3d42d5d7&

Espero que ajude !

Esse código não funciona.

ViniGodoy

FelipeGeorge13:
se retornar 0 qr diser q ele eh INVALIDO?
e se retornar soma VALIDO?

Esse código que eu postei retorna o dígito verificador. Ele deve ser igual ao último dígito do renavam.

Se o renavam for:
62.345.678-9

Você deverá fornecer a função a string sem os . e o -. E ela irá retornar o valor 9.

FelipeGeorge13

mas como saberei se o renavam eh verdadeiro ou falso?

ViniGodoy

É muito pouco provável que um renavam falso tenha esse dígito verificador. Agora, para se certificar MESMO, só conectando aos detrans, e nem sei se isso é possível.

FelipeGeorge13

vlws cara pela dica!

Criado 14 de janeiro de 2010
Ultima resposta 15 de jan. de 2010
Respostas 12
Participantes 4