UNPKG

@euk-labs/beltz

Version:

![npm](https://img.shields.io/npm/v/@euk-labs/beltz) ![NPM](https://img.shields.io/npm/l/@euk-labs/beltz) ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/Eureka-Shoulders/beltz/CI) ![npm](https://img.shields.io/npm/dw/@euk-labs/bel

66 lines 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateCNPJ = void 0; function validateCNPJ(cnpjReceveid) { const cnpj = String(cnpjReceveid).replace(/[&/\\#,+()$~%.'":*?<>{}-]/g, ''); const cnpjArray = cnpj .replace(/[^\d]+/g, '') .trim() .split('') .map((char) => Number(char)); let v1 = 0; let v2 = 0; let aux = false; cnpjArray.map((char, index, arr) => { if (arr[index - 1] !== char) { aux = true; } return null; }); if (!aux) { return false; } else { for (let index = 0, p1 = 5, p2 = 13; cnpj.length - 2 > index; index++, p1--, p2--) { if (p1 >= 2) { v1 += cnpjArray[index] * p1; } else { v1 += cnpjArray[index] * p2; } } v1 = v1 % 11; if (v1 < 2) { v1 = 0; } else { v1 = 11 - v1; } if (v1 !== cnpjArray[12]) { return false; } for (let i = 0, p1 = 6, p2 = 14; cnpj.length - 1 > i; i++, p1--, p2--) { if (p1 >= 2) { v2 += cnpjArray[i] * p1; } else { v2 += cnpjArray[i] * p2; } } v2 = v2 % 11; if (v2 < 2) { v2 = 0; } else { v2 = 11 - v2; } if (v2 !== cnpjArray[13]) { return false; } else { return true; } } } exports.validateCNPJ = validateCNPJ; //# sourceMappingURL=cnpj.js.map