@azapfy/utils_validations-br
Version:
A validator to BR informations - Fork from validations-br
35 lines (34 loc) • 968 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateGO = void 0;
function validateGO(ie) {
var ieStr = String(ie).replace(/\D/g, '');
var length = ieStr.length;
if (length !== 9)
return false;
var beginRegex = /^(1[01]|2[0-9])/;
var begin = ieStr.substr(0, 2);
if (!beginRegex.test(begin))
return false;
var position = length - 1;
var weight = length;
var body = ieStr.substr(0, position);
var bodyInt = +body;
var sum = 0;
body.split('').forEach(function (digit) {
sum += +digit * weight;
weight--;
});
var rest = sum % 11;
var dig = 11 - rest;
if (dig >= 10) {
if (dig === 11 && bodyInt >= 10103105 && bodyInt <= 10119997) {
dig = 1;
}
else {
dig = 0;
}
}
return dig === +ieStr.charAt(position);
}
exports.validateGO = validateGO;