Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2004, 11:00
HiperJP
 
Fecha de Ingreso: enero-2004
Ubicación: Santiago
Mensajes: 127
Antigüedad: 20 años, 3 meses
Puntos: 0
Función para Dígito Verificador de RUT (Chile)

Saludos, la verdad no sé si hay algún lugar especial para postear esto, espero les sirva esta función que he hecho.

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$i1) + $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

Última edición por HiperJP; 02/06/2004 a las 11:07