UNPKG

@azapfy/utils_validations-br

Version:

A validator to BR informations - Fork from validations-br

35 lines (34 loc) 968 B
"use strict"; 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;