Jump to content


andre.m.moura

Member Since 21/07/2010
Offline Last Active 30/04/2014, 12:56
-----

Topics I've Started

Validar Renavam

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?

IPB Skin By Virteq