Ver Mensaje Individual
  #10 (permalink)  
Antiguo 23/02/2007, 14:30
felipexcore
 
Fecha de Ingreso: febrero-2007
Mensajes: 15
Antigüedad: 17 años, 2 meses
Puntos: 1
Re: Rut Chile ...no puedo hacer funcionar

mmmmm aca copie otra cosa ke encontre por ahi...

Validar Rut
Otra para validar RUT
Enviado por admin el 11 Julio, 2004 - 1:31pm.
Clasificado en: PHP | Php retorcido | Validar Rut
Reconozco que esta implementación del validador de rut le gana en laconismo a todas las otras que he visto (incluyendo la mía):


<?php
function dv($r) {
$s = 1;
for($m = 0; $r != 0; $r/= 10)$s = ($s+$r%10 * (9-$m++%6))%11;
return chr($s?$s+47:75);
}
?>
Bonito, no?
5 comentarios | 5056 lecturas
Función para validar RUT
Enviado por admin el 22 Junio, 2004 - 1:34am.
Clasificado en: Php para dummies | Validar Rut
Gracias a Cristian(mi compañero de pega) y a un par de páginas, logré dar con el código necesario para validar el RUT, o sea, verificar que tenga el formato correcto y el dígito verificador sea el adecuado. Disfruten!
<?php
/**
* Verifica que el rut ingresado sea v&aacute;lido
* Debe estar en formato xxxxxxxx-x
* @return bool
*/
function validarRut($sUsr) {
if (!preg_match("/(\d{7,8})-([\dK])/", strtoupper($sUsr), $aMatch)) {
return false;
}
$sRutBase = substr(strrev($aMatch[1]) , 0, 8 );
$sCodigoVerificador = $aMatch[2];
$iCont = 2;
$iSuma = 0;
for ($i = 0;$i&lt;strlen($sRutBase);$i++) {
if ($iCont>7) {
$iCont = 2;
}
$iSuma+= ($sRutBase{$i}) *$iCont;
$iCont++;
}
$iDigito = 11-($iSuma%11);
$sCaracter = substr("-123456789K0", $iDigito, 1);
return ($sCaracter == $sCodigoVerificador);
}
?>

--------------------------------------------------------------------------------
Actualización: Se me había olvidado poner strtoupper, para poner a mayúsculas el posible 'k' al final del rut


es cosa de googlear un poco y sale al toke :S