Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function validateCNPJ(cnpjNumber) {
- var cnpj, length, numbers, digit, sum, pos, result;
- cnpj = cnpjNumber.replace(/\D/g, '');
- if (cnpj.length !== 14 || /^(\d)\1+$/g.test(cnpj)) {
- return false;
- }
- length = cnpj.length - 2;
- numbers = cnpj.substring(0, length);
- digit = cnpj.substring(length);
- sum = 0;
- pos = length - 7;
- for (i = length; i >= 1; i--) {
- sum += parseInt(numbers.charAt(length - i)) * pos--;
- if (pos < 2) {
- pos = 9;
- }
- }
- result = sum % 11 < 2 ? 0 : 11 - sum % 11;
- if (result !== parseInt(digit.charAt(0))) {
- return false;
- }
- length = length + 1;
- numbers = cnpj.substring(0, length);
- sum = 0;
- pos = length - 7;
- for (i = length; i >= 1; i--) {
- sum += parseInt(numbers.charAt(length - i)) * pos--;
- if (pos < 2) {
- pos = 9;
- }
- }
- result = sum % 11 < 2 ? 0 : 11 - sum % 11;
- if (result !== parseInt(digit.charAt(1))) {
- return false;
- }
- return true;
- }
Add Comment
Please, Sign In to add comment