cagartner
5/7/2014 - 12:23 PM

Função para validar Renavam, Valida Renavam, Verifica Renavam

Função para validar Renavam, Valida Renavam, Verifica Renavam

<php
/**
 * Função para validar sequencia de digitos de Renavam  
 * 
 * @link http://blog.victorjabur.com/2010/05/28/renavam_veiculos_java/ Função baseada em uma de java retirada desse link
 * @param string|int $renavam Sequencia de digitos do renavam
 * @return boolean
 */
function validaRenavam ( $renavam ) {
	$soma = 0;
	// Cria array com as posições da string
	$d = str_split($renavam);
	$x = 0;
	$digito = 0;

	// Calcula os 4 primeiros digitos do renavam fazendo o calculo da primeira posição do array * 5 e vai diminuindo até chegar a 2
	for ($i=5; $i >= 2; $i--) { 
		$soma += $d[$x] * $i;
		$x++;
	}

	// Faz o calculo de 11
	$valor = $soma % 11;

	// Busca digito verificador
	if ($valor == 11 || $valor == 0 || $valor >= 10) {	
		$digito = 0;
	} else {
		$digito = $valor;
	}

	// Verifica digito com a 5 posição do array
	if ($digito == $d[4]) {
		return 1;
	} else {
		return 0;
	}
}

echo "<pre>";
var_dump(validaRenavam('197073212'));
exit;
/**
 * Função para validar sequencia de digitos de Renavam  
 * 
 * @link http://blog.victorjabur.com/2010/05/28/renavam_veiculos_java/ Função baseada em uma de java retirada desse link
 * @param string|int renavam Sequencia de digitos do renavam
 * @return boolean
 */
function verificaRenavam( renavam ) {

  var d = renavam.split("");
  soma = 0,
  valor = 0,
  digito = 0,
  x = 0;

  for (var i = 5; i >= 2; i--) {
    soma += d[x] * i;
    x++;
  }

  valor = soma % 11;

  if (valor == 11 || valor == 0 || valor >= 10) {
    digito = 0;
  } else {
    digito = valor;
  }

  if (digito == d[4]) {
    return true;
  } else {
    return false;
  }
}

console.log('197073212');