23 lines
735 B
PHP
23 lines
735 B
PHP
<?php
|
|
|
|
function validar_rut($rut){
|
|
$rut = preg_replace('/[^k0-9]/i', '', $rut);
|
|
$digito_verificador = substr($rut, -1);
|
|
$numero = substr($rut, 0, strlen($rut)-1);
|
|
$i = 2;
|
|
$suma = 0;
|
|
foreach(array_reverse(str_split($numero)) as $v)
|
|
{
|
|
if($i==8) $i = 2;
|
|
$suma += $v * $i;
|
|
$i++;
|
|
}
|
|
$digito_verificador_calculado = 11 - ($suma % 11);
|
|
|
|
if($digito_verificador_calculado == 11) $digito_verificador_calculado = 0;
|
|
if($digito_verificador_calculado == 10) $digito_verificador_calculado = 'K';
|
|
error_log("Rut: " . $rut . " Deberia tener digito verificador " . $digito_verificador_calculado);
|
|
return $digito_verificador_calculado == strtoupper($digito_verificador);
|
|
}
|
|
?>
|