UNPKG

is-valid-acn

Version:

Check if a number is a valid Australian Company Number (ACN)

21 lines (20 loc) 587 B
var weights = [8, 7, 6, 5, 4, 3, 2, 1]; export default function isValidACN(rawAcn) { if (!rawAcn) { return false; } // strip non-alphanumeric characters var acn = rawAcn.toString().replace(/[^a-z\d]/gi, ''); // check if length is 9 digits if (acn.length !== 9) { return false; } // apply ato check method var sum = 0; weights.forEach(function (weight, position) { var digit = Number(acn[position]); sum += weight * digit; }); var checksum = (10 - (sum % 10)) % 10; return checksum === Number(acn[8]); }