util-helpers
Version:
40 lines (36 loc) • 1.05 kB
JavaScript
;
var ut2 = require('ut2');
var baseReg = /^\d{15}$/;
function sumCheckCode(preCode) {
var retNum;
var pj = 10;
for (var j = 0; j < 14; j++) {
var sj = pj + Number(preCode[j]);
var sj10 = sj % 10;
sj10 = sj10 === 0 ? 10 : sj10;
var pj1 = sj10 * 2;
pj = pj1 % 11;
}
if (pj === 1) {
retNum = 0;
}
else {
retNum = 11 - pj;
}
return retNum;
}
function isBusinessLicense(value, options) {
if (options === void 0) { options = {}; }
var valueStr = ut2.toString(value);
var _a = options.checkCode, needCheckCode = _a === void 0 ? true : _a;
var passBaseRule = baseReg.test(valueStr);
if (!needCheckCode || !passBaseRule) {
return passBaseRule;
}
var preCode = valueStr.substring(0, 14);
var lastCode = valueStr.substring(valueStr.length - 1);
var checkCode = sumCheckCode(preCode);
return lastCode === String(checkCode);
}
isBusinessLicense.sumCheckCode = sumCheckCode;
module.exports = isBusinessLicense;