Files
GestorCondominio/test_nif.js
2026-04-28 17:17:12 +01:00

16 lines
604 B
JavaScript

function validarNIF(nif) {
nif = nif.replace(/\s+/g, '');
if (!/^\d{9}$/.test(nif)) return false;
if (nif.charAt(0) === '0') return false;
let soma = 0;
for (let i = 0; i < 8; i++) {
soma += parseInt(nif.charAt(i), 10) * (9 - i);
}
const resto = soma % 11;
const digitoControlo = (resto === 0 || resto === 1) ? 0 : (11 - resto);
return digitoControlo === parseInt(nif.charAt(8), 10);
}
console.log(validarNIF('509442013')); // valid NIF (e.g. some company)
console.log(validarNIF('213340058')); // valid random
console.log(validarNIF('200000000')); // invalid