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');