is-valid-orcid
Version:
Check if a value is valid ORCID or not
23 lines • 888 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
function generateCheckDigit(baseDigits) {
var total = baseDigits.reduce(function (acc, digit) { return (acc + parseInt(digit, 10)) * 2; }, 0);
var remainder = total % 11;
var result = (12 - remainder) % 11;
return result === 10 ? 'X' : result.toString();
}
function isValidOrcid(maybeOrcid) {
if (!maybeOrcid || maybeOrcid.length < 19) {
return false;
}
var digits = maybeOrcid.replace(/-/g, '');
if (digits.length !== 16) {
return false;
}
var baseDigits = digits.slice(0, 15).split('');
var checkDigit = digits.charAt(15);
var expectedCheckDigit = generateCheckDigit(baseDigits);
return checkDigit === expectedCheckDigit;
}
exports.default = isValidOrcid;
//# sourceMappingURL=/home/travis/build/harunurhan/is-valid-orcid-js/src/index.js.map