Skip to content

Instantly share code, notes, and snippets.

@untalsanders
Last active October 9, 2022 18:11
Show Gist options
  • Save untalsanders/797781ce65817054ea524a7fe35ba631 to your computer and use it in GitHub Desktop.
Save untalsanders/797781ce65817054ea524a7fe35ba631 to your computer and use it in GitHub Desktop.
Dígito de Verificación RUT Chile

Validador de Dígito de Verificación

Requerimientos

  • NodeJS: v16+

Documentación

1. Clonar Gist

git clone https://gist.github.com/797781ce65817054ea524a7fe35ba631.git verify-digit-rut
cd verify-digit-rut

2. Ejecutar

node index.js

Código

'use strict'

const pregunta = process.stdout.write('Ingrese RUT: ')

process.stdin.on('data', (data) => {
    let rut = data.toString().trim()
    let rut_array = rut.split('').reverse()
    
    console.log(`RUT: ${rut}`)
    
    let numeroInicialSerie = 2
    let suma = 0
    for (let i = 0; i < rut_array.length; i++) {
        let mult = rut_array[i] * numeroInicialSerie
        numeroInicialSerie = numeroInicialSerie === 7 ? 2 : numeroInicialSerie + 1
        suma = suma + mult
    }
    let modulo = suma % 11
    console.log(`Dígito de Verificación: ${modulo === 1 ? 'k' : modulo === 0 ? '0' : 11 - modulo}`)

    process.exit()
})
'use strict'
const pregunta = process.stdout.write('Ingrese RUT: ')
process.stdin.on('data', (data) => {
let rut = data.toString().trim()
let rut_array = rut.split('').reverse()
console.log(`RUT: ${rut}`)
let numeroInicialSerie = 2
let suma = 0
for (let i = 0; i < rut_array.length; i++) {
let mult = rut_array[i] * numeroInicialSerie
numeroInicialSerie = numeroInicialSerie === 7 ? 2 : numeroInicialSerie + 1
suma = suma + mult
}
let modulo = suma % 11
console.log(`Dígito de Verificación: ${modulo === 1 ? 'k' : modulo === 0 ? '0' : 11 - modulo}`)
process.exit()
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment