Foros del Web » Programando para Internet » PHP »

Aporte: Function: Validar RUT

Estas en el tema de Aporte: Function: Validar RUT en el foro de PHP en Foros del Web. Ha sido modificado integrándolo con la función para obtener el dígito que posteo @enlinea777 quizá ya había alguna posteada pero de igual manera la dejo ...
  #1 (permalink)  
Antiguo 10/12/2009, 06:37
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
De acuerdo Aporte: Function: Validar RUT

Ha sido modificado integrándolo con la función para obtener el dígito que posteo @enlinea777

quizá ya había alguna posteada pero de igual manera la dejo por si a alguien le sirve..



saludos!

Código PHP:
Ver original
  1. /**
  2.  * Validador de RUT con digito verificador
  3.  *
  4.  * @param string $rut
  5.  * @return boolean
  6.  */
  7. function RutValidate($rut) {
  8.     $rut=str_replace(".","",$rut);
  9.     if (preg_match ( '/^(\d{1,9})-((\d|k|K){1})$/',$rut,$d)){
  10.         $s=1;$r=$d[1];for($m=0;$r!=0;$r/=10)$s=($s+$r%10*(9-$m++%6))%11;
  11.         return chr($s?$s+47:75)==strtoupper($d[2]);
  12.     }
  13. }

Uso
Código PHP:
Ver original
  1. echo (RutValidate("rut-k")) ? "Valido" : "Invalido";

PD: no se como sera la validación en otros países.. esta por lo menos funciona para chile :B
PD2: como siempre reemplazar los % ; por signos de porcentaje % por problemas del code de esta web :B saludos
__________________
More about me...
~ @rhyudek1
~ Github

Última edición por Hidek1; 22/12/2009 a las 07:41
  #2 (permalink)  
Antiguo 10/12/2009, 06:59
Avatar de Fairy_Boy  
Fecha de Ingreso: octubre-2009
Ubicación: Kokiri Forest
Mensajes: 235
Antigüedad: 15 años, 1 mes
Puntos: 5
Respuesta: Aporte: Function: Validar RUT

Excelente Aporte Hidek1.
Se agradece para los k conocen los ruts xD
Saludos!
  #3 (permalink)  
Antiguo 10/12/2009, 07:27
Avatar de Fairy_Boy  
Fecha de Ingreso: octubre-2009
Ubicación: Kokiri Forest
Mensajes: 235
Antigüedad: 15 años, 1 mes
Puntos: 5
Respuesta: Aporte: Function: Validar RUT

pregunta:
la liena 19 tiene problemas?
Cita:
$digito = 11 - ($suma % 11);
deberia ser?:
$digito = 11 - ($suma);
o no?
Saludos!
  #4 (permalink)  
Antiguo 10/12/2009, 07:29
Avatar de Fairy_Boy  
Fecha de Ingreso: octubre-2009
Ubicación: Kokiri Forest
Mensajes: 235
Antigüedad: 15 años, 1 mes
Puntos: 5
Respuesta: Aporte: Function: Validar RUT

hahahaha
ahi salio el %
supongo que eso era.
xD
  #5 (permalink)  
Antiguo 10/12/2009, 07:32
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Aporte: Function: Validar RUT

:O si.. es un signo de porcentaje.. es todo culpa del editor este que no sabe que php usa ese signo xD!...

gracias por notarlo..

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #6 (permalink)  
Antiguo 10/12/2009, 09:07
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 5 meses
Puntos: 127
Respuesta: Aporte: Function: Validar RUT

jajaja Hombre para que inventar la rueda de nuevo¿ ?

Código PHP:
<?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);}
?>
ejemplo en funcionamiento: ==>Aquí<==
para otros lenguajes como:
NATURAL, EN PALABRAS, ActionScript, AS400, ASP , AWK, C, C Sharp, C#, Clipper, COBOL, Delphi, Excel, FORTRAN Requerido!!!, INTERCAL, Java, JavaScript, Maple, Oz, Pascal, Perl, PHP, PostgreSQL, Prolog, Python, Ruby, Scheme, SQL Server 2000 , Turing, User-RPL, Calculadoras HP , Visual Basic, Visual FoxPro


==>Aquí<==
  #7 (permalink)  
Antiguo 10/12/2009, 09:21
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Aporte: Function: Validar RUT

:O... desglosando el codigo... aunque no entiendo algunas cosas :P
podrias explicarlo? ToT
__________________
More about me...
~ @rhyudek1
~ Github
  #8 (permalink)  
Antiguo 15/12/2009, 08:48
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Aporte: Function: Validar RUT

editada y mejorada :B ahora ya entendi la funcion xD!
__________________
More about me...
~ @rhyudek1
~ Github
  #9 (permalink)  
Antiguo 30/12/2009, 15:26
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Aporte: Function: Validar RUT

mejore un poco tu funcion para obtener el digito, por que hacia unos pasos demas le kambie un par de cosas y lo agregue a mi funcion por si te interesa :P

Código PHP:
function validaRun($rut){
    if (
preg_match '/^(\d{1,9})-((\d|k|K){1})$/',$rut,$d)){
        
$r=$d[1];for($o=$s=0;(int)$r;$r/=10)$o+=($r&#37;10*(9-$s++%6));$o%=11;
        
return chr($o<10?$o+48:75)==strtoupper($d[2]);
    }

__________________
More about me...
~ @rhyudek1
~ Github

Última edición por Hidek1; 30/12/2009 a las 15:37
  #10 (permalink)  
Antiguo 30/12/2009, 15:30
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años, 7 meses
Puntos: 7
Respuesta: Aporte: Function: Validar RUT

deja claro que es para rut chileno y si es chileno seria RUN xD
__________________
:-D "Que se libere del cielo confinado; que mi cuerpo sea la espada de hielo negro que nos lleve al abismo; que ningún poder pueda detenernos...Destructora de las almas de los dioses!!!":adios:


:pirata:
  #11 (permalink)  
Antiguo 30/12/2009, 15:37
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Aporte: Function: Validar RUT

:O no tenia idea de eso :P se programar pero no se nada de donde vivo x'D

lo modificare.. gracias!
__________________
More about me...
~ @rhyudek1
~ Github
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:40.