Skip to content

Instantly share code, notes, and snippets.

@decklord
Created February 4, 2015 17:52
Show Gist options
  • Save decklord/ce5599ba23919e61423f to your computer and use it in GitHub Desktop.
Save decklord/ce5599ba23919e61423f to your computer and use it in GitHub Desktop.
Validador de Rut en Coffeescript
formatRut = (str) ->
str.replace(/\./g, '')
checkRut = (str) ->
if not str?
return false
str = str.toString().trim()
str = formatRut str
if not str.indexOf('-') is str.length - 2
return false
chars = new Array()
serie = new Array(2, 3, 4, 5, 6, 7)
dig = str.substr(str.length - 1, 1)
rut = str.substr(0, str.length - 2)
for i in [0..rut.length-1] by 1
chars[i] = parseInt rut.charAt( (rut.length - 1 - i) )
sum = 0
k = 0
resto = 0
for j in [0..chars.length-1] by 1
k = 0 if k == 6
sum += parseInt(chars[j]) * parseInt(serie[k]);
k++
resto = sum % 11;
dv = 11 - resto;
dv = "K" if dv == 10
dv = 0 if dv == 11
dv.toString().trim().toUpperCase() == dig.toString().trim().toUpperCase()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment