UNPKG

@koalarx/ui

Version:

Koala UI is a Design System developed in Angular whose objective is to facilitate and make your development faster and simpler, making this framework your greatest ally.

86 lines 11.7 kB
export class ValidationHelper { static validateCpf(value) { function calcChecker1(digits) { let sum = null; for (let j = 0; j < 9; ++j) { sum += digits.toString().charAt(j) * (10 - j); } const lastSumChecker1 = sum % 11; return lastSumChecker1 < 2 ? 0 : 11 - lastSumChecker1; } function calcChecker2(cpfWithChecker1) { let sum = null; for (let k = 0; k < 10; ++k) { sum += cpfWithChecker1.toString().charAt(k) * (11 - k); } const lastSumChecker2 = sum % 11; return lastSumChecker2 < 2 ? 0 : 11 - lastSumChecker2; } const cleanCPF = value.replace(/\.|\-|\s/g, ''); const firstNineDigits = cleanCPF.substring(0, 9); const checker = cleanCPF.substring(9, 11); if (cleanCPF.length !== 11) { return false; } // Checking if all digits are equal for (let i = 0; i < 10; i++) { if ('' + firstNineDigits + checker === Array(12).join(`${i}`)) { return false; } } const checker1 = calcChecker1(firstNineDigits); const checker2 = calcChecker2(firstNineDigits + '' + checker1); return checker.toString() === checker1.toString() + checker2.toString(); } static validateCnpj(value) { value = value.replace(/[^\d]+/g, ''); if (value === '') { return false; } if (value.length !== 14) { return false; } // Elimina CNPJs invalidos conhecidos if (value === '00000000000000' || value === '11111111111111' || value === '22222222222222' || value === '33333333333333' || value === '44444444444444' || value === '55555555555555' || value === '66666666666666' || value === '77777777777777' || value === '88888888888888' || value === '99999999999999') { return false; } // Valida DVs let tamanho = value.length - 2; let numeros = value.substring(0, tamanho); const digitos = value.substring(tamanho); let soma = 0; let pos = tamanho - 7; for (let i = tamanho; i >= 1; i--) { soma += parseInt(numeros.charAt(tamanho - i), 10) * pos--; if (pos < 2) { pos = 9; } } let resultado = soma % 11 < 2 ? 0 : 11 - soma % 11; if (resultado !== parseInt(digitos.charAt(0), 10)) { return false; } tamanho = tamanho + 1; numeros = value.substring(0, tamanho); soma = 0; pos = tamanho - 7; for (let i = tamanho; i >= 1; i--) { soma += parseInt(numeros.charAt(tamanho - i), 10) * pos--; if (pos < 2) { pos = 9; } } resultado = soma % 11 < 2 ? 0 : 11 - soma % 11; return !(resultado !== parseInt(digitos.charAt(1), 10)); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL3ZhbGlkYXRvcnMvdmFsaWRhdGlvbi5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGdCQUFnQjtJQUNwQixNQUFNLENBQUMsV0FBVyxDQUFDLEtBQWE7UUFDckMsU0FBUyxZQUFZLENBQUMsTUFBVztZQUMvQixJQUFJLEdBQUcsR0FBa0IsSUFBSSxDQUFDO1lBRTlCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUU7Z0JBQzFCLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQy9DO1lBRUQsTUFBTSxlQUFlLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUVqQyxPQUFPLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLGVBQWUsQ0FBQztRQUN4RCxDQUFDO1FBRUQsU0FBUyxZQUFZLENBQUMsZUFBb0I7WUFDeEMsSUFBSSxHQUFHLEdBQWtCLElBQUksQ0FBQztZQUU5QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFO2dCQUMzQixHQUFHLElBQUksZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUN4RDtZQUVELE1BQU0sZUFBZSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFFakMsT0FBTyxlQUFlLEdBQUcsQ0FBQyxDQUFD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QUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNuRCxJQUFJLFNBQVMsS0FBSyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUNqRCxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsT0FBTyxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDdEIsT0FBTyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDVCxHQUFHLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2pDLElBQUksSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDMUQsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFO2dCQUNYLEdBQUcsR0FBRyxDQUFDLENBQUM7YUFDVDtTQUNGO1FBQ0QsU0FBUyxHQUFHLElBQUksR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRS9DLE9BQU8sQ0FBQyxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uSGVscGVyIHtcbiAgcHVibGljIHN0YXRpYyB2YWxpZGF0ZUNwZih2YWx1ZTogc3RyaW5nKSB7XG4gICAgZnVuY3Rpb24gY2FsY0NoZWNrZXIxKGRpZ2l0czogYW55KSB7XG4gICAgICBsZXQgc3VtOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCA5OyArK2opIHtcbiAgICAgICAgc3VtICs9IGRpZ2l0cy50b1N0cmluZygpLmNoYXJBdChqKSAqICgxMCAtIGopO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBsYXN0U3VtQ2hlY2tlcjEgPSBzdW0gJSAxMTtcblxuICAgICAgcmV0dXJuIGxhc3RTdW1DaGVja2VyMSA8IDIgPyAwIDogMTEgLSBsYXN0U3VtQ2hlY2tlcjE7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY2FsY0NoZWNrZXIyKGNwZldpdGhDaGVja2VyMTogYW55KSB7XG4gICAgICBsZXQgc3VtOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgICAgZm9yIChsZXQgayA9IDA7IGsgPCAxMDsgKytrKSB7XG4gICAgICAgIHN1bSArPSBjcGZXaXRoQ2hlY2tlcjEudG9TdHJpbmcoKS5jaGFyQXQoaykgKiAoMTEgLSBrKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbGFzdFN1bUNoZWNrZXIyID0gc3VtICUgMTE7XG5cbiAgICAgIHJldHVybiBsYXN0U3VtQ2hlY2tlcjIgPCAyID8gMCA6IDExIC0gbGFzdFN1bUNoZWNrZXIyO1xuICAgIH1cblxuICAgIGNvbnN0IGNsZWFuQ1BGID0gdmFsdWUucmVwbGFjZSgvXFwufFxcLXxcXHMvZywgJycpO1xuICAgIGNvbnN0IGZpcnN0TmluZURpZ2l0cyA9IGNsZWFuQ1BGLnN1YnN0cmluZygwLCA5KTtcbiAgICBjb25zdCBjaGVja2VyID0gY2xlYW5DUEYuc3Vic3RyaW5nKDksIDExKTtcblxuICAgIGlmIChjbGVhbkNQRi5sZW5ndGggIT09IDExKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gQ2hlY2tpbmcgaWYgYWxsIGRpZ2l0cyBhcmUgZXF1YWxcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwOyBpKyspIHtcbiAgICAgIGlmICgnJyArIGZpcnN0TmluZURpZ2l0cyArIGNoZWNrZXIgPT09IEFycmF5KDEyKS5qb2luKGAke2l9YCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGNoZWNrZXIxID0gY2FsY0NoZWNrZXIxKGZpcnN0TmluZURpZ2l0cyk7XG4gICAgY29uc3QgY2hlY2tlcjIgPSBjYWxjQ2hlY2tlcjIoZmlyc3ROaW5lRGlnaXRzICsgJycgKyBjaGVja2VyMSk7XG5cbiAgICByZXR1cm4gY2hlY2tlci50b1N0cmluZygpID09PSBjaGVja2VyMS50b1N0cmluZygpICsgY2hlY2tlcjIudG9TdHJpbmcoKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdmFsaWRhdGVDbnBqKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL1teXFxkXSsvZywgJycpO1xuXG4gICAgaWYgKHZhbHVlID09PSAnJykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZS5sZW5ndGggIT09IDE0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gRWxpbWluYSBDTlBKcyBpbnZhbGlkb3MgY29uaGVjaWRvc1xuICAgIGlmICh2YWx1ZSA9PT0gJzAwMDAwMDAwMDAwMDAwJyB8fFxuICAgICAgdmFsdWUgPT09ICcxMTExMTExMTExMTExMScgfHxcbiAgICAgIHZhbHVlID09PSAnMjIyMjIyMjIyMjIyMjInIHx8XG4gICAgICB2YWx1ZSA9PT0gJzMzMzMzMzMzMzMzMzMzJyB8fFxuICAgICAgdmFsdWUgPT09ICc0NDQ0NDQ0NDQ0NDQ0NCcgfHxcbiAgICAgIHZhbHVlID09PSAnNTU1NTU1NTU1NTU1NTUnIHx8XG4gICAgICB2YWx1ZSA9PT0gJzY2NjY2NjY2NjY2NjY2JyB8fFxuICAgICAgdmFsdWUgPT09ICc3Nzc3Nzc3Nzc3Nzc3NycgfHxcbiAgICAgIHZhbHVlID09PSAnODg4ODg4ODg4ODg4ODgnIHx8XG4gICAgICB2YWx1ZSA9PT0gJzk5OTk5OTk5OTk5OTk5Jykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIFZhbGlkYSBEVnNcbiAgICBsZXQgdGFtYW5obyA9IHZhbHVlLmxlbmd0aCAtIDI7XG4gICAgbGV0IG51bWVyb3MgPSB2YWx1ZS5zdWJzdHJpbmcoMCwgdGFtYW5obyk7XG4gICAgY29uc3QgZGlnaXRvcyA9IHZhbHVlLnN1YnN0cmluZyh0YW1hbmhvKTtcbiAgICBsZXQgc29tYSA9IDA7XG4gICAgbGV0IHBvcyA9IHRhbWFuaG8gLSA3O1xuICAgIGZvciAobGV0IGkgPSB0YW1hbmhvOyBpID49IDE7IGktLSkge1xuICAgICAgc29tYSArPSBwYXJzZUludChudW1lcm9zLmNoYXJBdCh0YW1hbmhvIC0gaSksIDEwKSAqIHBvcy0tO1xuICAgICAgaWYgKHBvcyA8IDIpIHtcbiAgICAgICAgcG9zID0gOTtcbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IHJlc3VsdGFkbyA9IHNvbWEgJSAxMSA8IDIgPyAwIDogMTEgLSBzb21hICUgMTE7XG4gICAgaWYgKHJlc3VsdGFkbyAhPT0gcGFyc2VJbnQoZGlnaXRvcy5jaGFyQXQoMCksIDEwKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHRhbWFuaG8gPSB0YW1hbmhvICsgMTtcbiAgICBudW1lcm9zID0gdmFsdWUuc3Vic3RyaW5nKDAsIHRhbWFuaG8pO1xuICAgIHNvbWEgPSAwO1xuICAgIHBvcyA9IHRhbWFuaG8gLSA3O1xuICAgIGZvciAobGV0IGkgPSB0YW1hbmhvOyBpID49IDE7IGktLSkge1xuICAgICAgc29tYSArPSBwYXJzZUludChudW1lcm9zLmNoYXJBdCh0YW1hbmhvIC0gaSksIDEwKSAqIHBvcy0tO1xuICAgICAgaWYgKHBvcyA8IDIpIHtcbiAgICAgICAgcG9zID0gOTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmVzdWx0YWRvID0gc29tYSAlIDExIDwgMiA/IDAgOiAxMSAtIHNvbWEgJSAxMTtcblxuICAgIHJldHVybiAhKHJlc3VsdGFkbyAhPT0gcGFyc2VJbnQoZGlnaXRvcy5jaGFyQXQoMSksIDEwKSk7XG4gIH1cbn1cbiJdfQ==