@azapfy/utils_validations-br
Version:
A validator to BR informations - Fork from validations-br
40 lines (39 loc) • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateAP = void 0;
function validateAP(ie) {
var ieStr = String(ie).replace(/\D/g, '');
if (ieStr.length !== 9)
return false;
if (ieStr.substr(0, 2) !== '03')
return false;
var length = ieStr.length;
var position = length - 1;
var weight = length;
var body = ieStr.substr(0, position);
var bodyInt = +body;
var p = 0;
var d = 0;
if (bodyInt >= 3000001 && bodyInt <= 3017000) {
p = 5;
d = 0;
}
else if (bodyInt >= 3017001 && bodyInt <= 3019022) {
p = 9;
d = 1;
}
var sum = p;
body.split('').forEach(function (digit) {
sum += +digit * weight;
weight--;
});
var dig = 11 - (sum % 11);
if (dig === 10) {
dig = 0;
}
if (dig === 11) {
dig = d;
}
return dig === +ieStr.charAt(position);
}
exports.validateAP = validateAP;