Advertisement
Guest User

Untitled

a guest
Jul 17th, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. <script type="text/javascript">//Script para verificar rut
  2. function checkRut(rut) {
  3. // Despejar Puntos
  4. var valor = rut.value.replace('.','');
  5. // Despejar Guión
  6. valor = valor.replace('-','');
  7.  
  8. // Aislar Cuerpo y Dígito Verificador
  9. cuerpo = valor.slice(0,-1);
  10. dv = valor.slice(-1).toUpperCase();
  11.  
  12. // Formatear RUN
  13. rut.value = cuerpo + '-'+ dv
  14.  
  15. // Si no cumple con el mínimo ej. (n.nnn.nnn)
  16. if(cuerpo.length < 7) { rut.setCustomValidity("RUT Incompleto"); return false;}
  17.  
  18. // Calcular Dígito Verificador
  19. suma = 0;
  20. multiplo = 2;
  21.  
  22. // Para cada dígito del Cuerpo
  23. for(i=1;i<=cuerpo.length;i++) {
  24.  
  25. // Obtener su Producto con el Múltiplo Correspondiente
  26. index = multiplo * valor.charAt(cuerpo.length - i);
  27.  
  28. // Sumar al Contador General
  29. suma = suma + index;
  30.  
  31. // Consolidar Múltiplo dentro del rango [2,7]
  32. if(multiplo < 7) { multiplo = multiplo + 1; } else { multiplo = 2; }
  33.  
  34. }
  35.  
  36. // Calcular Dígito Verificador en base al Módulo 11
  37. dvEsperado = 11 - (suma % 11);
  38.  
  39. // Casos Especiales (0 y K)
  40. dv = (dv == 'K')?10:dv;
  41. dv = (dv == 0)?11:dv;
  42.  
  43. // Validar que el Cuerpo coincide con su Dígito Verificador
  44. if(dvEsperado != dv) { rut.setCustomValidity("RUT Inválido"); return false; }
  45.  
  46. // Si todo sale bien, eliminar errores (decretar que es válido)
  47. rut.setCustomValidity('');
  48. }
  49. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement