Foros del Web » Programando para Internet » Javascript »

duda con validacion de lrut

Estas en el tema de duda con validacion de lrut en el foro de Javascript en Foros del Web. hola amigos ....tengo esta duda ....hice una validacion del rut o dni....entonces ....al ingresar rut asi ----14758852-k me toma el valor 10 ....y no se ...
  #1 (permalink)  
Antiguo 10/08/2007, 07:54
 
Fecha de Ingreso: mayo-2007
Mensajes: 413
Antigüedad: 17 años
Puntos: 0
duda con validacion de lrut

hola amigos ....tengo esta duda ....hice una validacion del rut o dni....entonces ....al ingresar rut asi ----14758852-k me toma el valor 10 ....y no se como arreglarlo..miren este es el codigo..

Código:
if (formulario.txt_rut.value == null || formulario.txt_rut.value == "")
  {
    alert("Ingrese Rut Postulante");
    formulario.txt_rut.focus();
   	return (false);
  }



        c=formulario.txt_rut.value;
        a=c.length;
        if(a<8){
             alert('Rut NO válido')
             formulario.txt_rut.focus();
             return false
           }



  if (formulario.txt_digitoverificador.value == null || formulario.txt_digitoverificador.value == "")
  {
    alert("Ingrese Digito Verificador Postulante");
    formulario.txt_dv.focus();
    return (false);
  }


  var checkOK = "0123456789Kk";
  var checkStr = formulario.txt_digitoverificador.value;
  var allValid = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Dígito Verificador No válido");
    formulario.txt_digitoverificador.focus();
    return (false);
  }


      var suma=0;
	var mult=2;
        cc=formulario.txt_rut.value;
        aa=cc.length;

	if (formulario.txt_digitoverificador.value=="K" || formulario.txt_digitoverificador.value=="k") formulario.txt_digitoverificador.value="10"
	
	for (i=aa-1;i>=0;i--){
		ccc=cc.charAt(i);
		suma+=parseInt(ccc,10)*mult;
		mult++;
		if (mult>7) mult=2;
	}

	var calculado=11-suma%11;
	if (calculado==11) calculado=0;
	if(parseInt(formulario.txt_digitoverificador.value)!=calculado){
           alert("RUT ingresado NO es válido\npor favor ingrese nuevamente")
          formulario.txt_rut.focus();
           return (false)
        }

ojala me ayuden y me digan como arregalr cuando es 14857785-k para que no tome valor 10

if (formulario.txt_digitoverificador.value=="K" || formulario.txt_digitoverificador.value=="k") formulario.txt_digitoverificador.value="10"

en esta parte si saco formulario.txt_digitoverificador.value="10" se produse conflicto ....algien que encuentre otra forma ...gracias de verdad
__________________
Los que Saben....no Saben lo que Saben
  #2 (permalink)  
Antiguo 10/08/2007, 09:54
 
Fecha de Ingreso: enero-2005
Mensajes: 105
Antigüedad: 19 años, 3 meses
Puntos: 2
Re: duda con validacion de lrut

Prueba haciendo los cambios en rojo


var calculado=11-suma%11;
if (calculado==11) calculado=0;
if (calculado==10) calculado='k';
if(lcase(parseInt(formulario.txt_digitoverificador .value)) != lcase(calculado)){

alert("RUT ingresado NO es válido\npor favor ingrese nuevamente")
formulario.txt_rut.focus();
return (false)




Salu2
  #3 (permalink)  
Antiguo 10/08/2007, 10:42
 
Fecha de Ingreso: mayo-2007
Mensajes: 413
Antigüedad: 17 años
Puntos: 0
Re: duda con validacion de lrut

hola gracias por responder .....lo probare entonces el otro codig oque hacia mencion a la validacion de k solo lo saco de ahi??? gracias lo probare
__________________
Los que Saben....no Saben lo que Saben
  #4 (permalink)  
Antiguo 13/08/2007, 09:16
Avatar de ZeroLino  
Fecha de Ingreso: abril-2007
Mensajes: 91
Antigüedad: 17 años
Puntos: 2
Re: duda con validacion de lrut

yo tengo lal validacion en Function (JS)

si quieres te la puedo enviar...

pero al momento de ingresar K tiene que ser con mayuscula...

bye
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 15:46.