Skip to content

Instantly share code, notes, and snippets.

@quest
Created December 3, 2015 19:49
Show Gist options
  • Save quest/52f0a01afde352b2f867 to your computer and use it in GitHub Desktop.
Save quest/52f0a01afde352b2f867 to your computer and use it in GitHub Desktop.
Validar RUT Chileno
function validarRut (rut) {
if (rut.length == 0 || rut.length < 8) {
return false;
}
rut = rut.replace('-','').replace(/\./g,'');
var sum = 0,
chars = "1234567890kK",
counter = 0;
for (var i = 0; i < rut.length; i++) {
u = rut.substring(i, i + 1);
if (chars.indexOf(u) != -1) {
counter++;
}
}
if (counter == 0) {
return false;
}
var rut = rut.substring(0, rut.length - 1);
var drut = rut.substring(rut.length - 1);
var digit = '0';
var mul = 2;
for (i = rut.length - 1 ; i >= 0; i--) {
sum = sum + rut.charAt(i) * mul;
mul = (mul == 7) ? 2 : mul + 1;
}
res = sum % 11;
if (res == 1 || res == 0) {
digit = (res == 1 ) ? 'k' : '0';
}
else {
digit = (11 - res) + "";
}
return digit == drut.toLowerCase();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment