Tema: Funciones
Pregunta: ¿Como puedo obtener el dígito verificador de un RUT? (Chile)
Respuesta:
Sólo coloca esta función en el lugar que más te acomode, obviamente antes de hacerle una llamada
Código PHP:
<?php
/*********************************************************
Función Validador de Dígito verificador RUT, by HiperJP - 2003
Ult. Modificación: 26-08-2003 7:58 AM
Convertido originalmente de una versión en ASP.
*********************************************************/
function ValidaDVRut($rut) {
$tur = strrev($rut);
$mult = 2;
for ($i = 0; $i <= strlen($tur); $i++) {
if ($mult > 7) $mult = 2;
$suma = $mult * substr($tur, $i, 1) + $suma;
$mult = $mult + 1;
}
$valor = 11 - ($suma % 11);
if ($valor == 11) {
$codigo_veri = "0";
} elseif ($valor == 10) {
$codigo_veri = "k";
} else {
$codigo_veri = $valor;
}
return $codigo_veri;
}
?>
La función en si retorna el Digito Verificador del rut pasado como parámetro en $rut (ojo, sólo RUT, sin DV). Para su utilización, hacen una llamada de la forma:
Código PHP:
if (ValidaDVRut($_POST['rut'])==$_POST['rut_dv'])
echo "Rut válido!!";
else
echo "Rut inválido!!";
Donde,
$_POST['rut'] es la variable que trae el rut completo, sin puntos, pasada por un formulario.
y,
$_POST['rut_dv'] es la variable que nos trae el DV enviado por el mismo formulario.
Luego de esto es una simple comparación
Eso seria, espero les sirva de algo
PD: Quedo espectacular la implementación de la nueva versión de vBulletin, resaltan las nuevas opciones