Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/08/2007, 07:54
natashca
 
Fecha de Ingreso: mayo-2007
Mensajes: 413
Antigüedad: 17 años, 9 meses
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