Comprobación de RUT en PHP
Hace tiempo tenía este post en borrador, se trata de una sencilla función para verificar el RUT en Chile. Puede que sea un poco redundante para sacar algunos cálculos, pero funciona.
No requiere mayor explicación, devolverá true o false según el rut sea real o no. Si el dígito verificador es k, será considerado como si fuese un 10.
function verificar_rut($rut, $digito){
$dv=strtolower($digito)==’k'?10:$digito;
$num=str_split($rut);
$suma=($num[7]*2)+($num[6]*3)+
($num[5]*4)+($num[4]*5)+($num[3]*6)+
($num[2]*7)+($num[1]*2)+($num[0]*3);
$div = floor($suma / 11);
$multi = $div * 11;
$resta = $suma - $multi;
$num= 11 - $resta;
if($num!=$dv){
return false ;
}
else{
return true;
}
}
$mi_rut = verificar_rut(12947567,6);
Nótese que los valores pasados como parámetros, son dos: el $rut (que en este caso está sin puntos) y el dígito verificador. En un contexto real, posiblemente estos parámetros correspondan a dos variables $_POST de un formulario. Para evitar que los puntos causen conflictos, deberíamos hacer algo como esto:
$mi_rut = verificar_rut(eregi_replace(”\.”,”",$_POST['rut']) , $_POST[dv']);
Comprobación de RUT en PHP…
Hace tiempo tenía este post en borrador, se trata de una sencilla función para verificar el RUT en Chile. Puede que sea un poco redundante para sacar algunos cálculos, pero funciona. No requiere mayor explicación, devolverá true o false según el …