Tema: FAQ's de PHP
Ver Mensaje Individual
  #109 (permalink)  
Antiguo 03/06/2004, 11:50
HiperJP
 
Fecha de Ingreso: enero-2004
Ubicación: Santiago
Mensajes: 127
Antigüedad: 20 años, 10 meses
Puntos: 0
Función para Dígito Verificador de RUT (Chile)

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$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; 03/06/2004 a las 11:51