export default function(numeroDocumento: string) { let vpri, x, y, z // Se limpia el Nit numeroDocumento = numeroDocumento.replace(/\s/g, '') // Espacios numeroDocumento = numeroDocumento.replace(/,/g, '') // Comas numeroDocumento = numeroDocumento.replace(/\./g, '') // Puntos numeroDocumento = numeroDocumento.replace(/-/g, '') // Guiones // Se valida el nit if (isNaN(Number(numeroDocumento))) { return '' } // Procedimiento vpri = new Array(16) z = numeroDocumento.length vpri[1] = 3 vpri[2] = 7 vpri[3] = 13 vpri[4] = 17 vpri[5] = 19 vpri[6] = 23 vpri[7] = 29 vpri[8] = 37 vpri[9] = 41 vpri[10] = 43 vpri[11] = 47 vpri[12] = 53 vpri[13] = 59 vpri[14] = 67 vpri[15] = 71 x = 0 y = 0 for (let i = 0; i < z; i++) { y = numeroDocumento.substr(i, 1) x += Number(y) * vpri[z - i] } y = x % 11 return y > 1 ? 11 - y : y }