Muchas, por no decir todas, de las funciones que hay en internet para validar el RUT son compatibles con PHP 5.2.X o inferiores.
En PHP 5.3 se dieron de baja varias funciones con el fin de “preparar” el núcleo para PHP 6. Por este motivo me decidí a re-escribir el código de la función que utilizaba para validar el rut.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | /** * Funcion para validar RUT compatible con PHP5.3 o inferior * * * @license BSD * @author Manuel Diego Paillafil Gamboa * @link http://manuel.radiohead.cl/ * @email manuel@radiohead.cl * * @version 1.0 * @date 07/10/2009 * * @param string * * @return bool * */ public static function rut($rut) { $rut = strtoupper(preg_replace('{\.|,|-}','',$rut)); $sub_rut= substr($rut,0,strlen($rut)-1); $sub_dv = substr($rut,-1); $x=2; $s=0; for($i=strlen($sub_rut)-1;$i>=0;$i--){ $x = ($x>7) ? 2 : $x; $s += $sub_rut[$i]*$x; $x++; } $dv = 11 - ($s%11); $dv = ($dv==10) ? 'K' : (($dv==11) ? '0' : $dv); return ($dv==$sub_dv) ? TRUE : FALSE; } |
no sea perra