Jump to content


Photo

Validar Renavam


  • Faça o login para participar
Nenhuma resposta neste tópico

#1 andre.m.moura

andre.m.moura

    Novato no fórum

  • Usuários
  • 14 posts
  • Sexo:Masculino
  • Localidade:SP

Posted 22/04/2014, 12:27

Bom dia.
Pessoal, estou tentando validar um renavam, mas não estou conseguindo.


function renavam($renavam) 
{
	
	$rena_count = strlen($renavam);
	
	if($rena_count>8) 
	{
		
		$renavam5 	= substr($renavam, 0,1);
		$renavam4 	= substr($renavam, 1,1);
		$renavam3 	= substr($renavam, 2,1);
		$renavam2 	= substr($renavam, 3,1);
		
		$soma 		= ($renavam5*5)+($renavam4*4)+($renavam3*3)+($renavam2*2);	
					
		$divimulti 	= intval(($soma/11))*11;		
		$resultado 	= $soma-$divimulti;
		
		echo $resultado;
	
	}
	else {
	
		//return false;	
		echo "erro";
	}
	
	
}

echo renavam("623456789");


Mas não sei qual saída tenho que ter. Poorque sempre o resultado é zero.
Tenho uma regra aqui, mas não entendi direito:

Primeiro calcula-se a soma da multiplicação dos 4 primeiros dígitos por 5,4,3 e 2, respectivamente, Soma = (8*5)+(4*4)+(7*3)+(8*2); (RENAVAM antigo)
Em seguida, dividi-se e multiplica-se por 11;
Utiliza-se sempre o valor inteiro da divisão: Valor = (Soma/11)*11
Por fim, subtraia o valor da soma;
O resultado é igual a soma - valor
Se resultado for igual à 1 ou 0, então o 1.º dígito verificador é 0;
Caso contrário, o 1.º dígito verificador é o resultado da subtração de resultado de 11. Caso prático:
RENAVAM: 00847897710 (com a nova regra e dígitos, a multiplicação dos 4 primeiros dígitos deverá acontecer da seguinte forma: (0*5)+(0*4)+(8*3)+(4*2))


Alguém poderia me dar uma luz?




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq