Foros del Web » Programando para Internet » Javascript »

calculo digito verificador

Estas en el tema de calculo digito verificador en el foro de Javascript en Foros del Web. Para calcular el digito tenemos: POR EJEMPLO: 1 0 6 1 0 9 6 3 (cedula de identidad) * * * * * * * ...
  #1 (permalink)  
Antiguo 13/11/2006, 13:20
Avatar de kaduco  
Fecha de Ingreso: agosto-2004
Ubicación: Coquimbo - Chile
Mensajes: 63
Antigüedad: 19 años, 8 meses
Puntos: 0
calculo digito verificador

Para calcular el digito tenemos:

POR EJEMPLO: 1 0 6 1 0 9 6 3 (cedula de identidad)

* * * * * * * *
Multiplico por: 3 2 7 6 5 4 3 2

resultado = 3 0 42 6 0 36 18 6 = resto (111 / 11) = 10.1 (aprox.)

luego la division anterior queda con el valor de "1"

operador = 11 - division
operador = 10

por lo tanto el digito verificador es K..


El codigo es el siguiente:

function valida_rut()
{
var bOk = true;
var num;
var suma=0,division,cont=2,fraccion,operador;
var j=1;


num=document.ingreso.rut.value;
if (num == "")
{
alert("Debe Ingresar Rut Alumno ...");
document.ingreso.rut.focus();
return false;
}

else
{
for(j=1;j<9;j++)
{
fraccion = num % 10; suma =suma + cont * fraccion;//ERROR en obtencion de la suma
num = num / 10;
cont++;
if(cont > 7)
cont = 2;
}
division = Math.round(suma % 11);
operador= 11 - division;
if(operador>=1 & operador<=9)
else if(operador==10)
alert("\nsu digito verificador es: k\n\n");

else if(operador==11)
alert("\nsu digito verificador es: 0\n\n");
}
return (true)

}




El problema es con el siguiente numero 10541839 debiese dar el digito = 6

pero nos da otro numero y por lo que pude ver me arroja inconvenientes al redondear !!

¡Como lo soluciono¡¡¡¡¡

Gracias de antemano ....
__________________
"Un aguila no se preocupa de cazar moscas"
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




La zona horaria es GMT -6. Ahora son las 09:10.