PATH:
usr
/
local
/
lib
/
node_modules
/
ghost-cli
/
node_modules
/
validator
/
lib
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isISIN; var _assertString = require('./util/assertString'); var _assertString2 = _interopRequireDefault(_assertString); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var isin = /^[A-Z]{2}[0-9A-Z]{9}[0-9]$/; function isISIN(str) { (0, _assertString2.default)(str); if (!isin.test(str)) { return false; } var checksumStr = str.replace(/[A-Z]/g, function (character) { return parseInt(character, 36); }); var sum = 0; var digit = void 0; var tmpNum = void 0; var shouldDouble = true; for (var i = checksumStr.length - 2; i >= 0; i--) { digit = checksumStr.substring(i, i + 1); tmpNum = parseInt(digit, 10); if (shouldDouble) { tmpNum *= 2; if (tmpNum >= 10) { sum += tmpNum + 1; } else { sum += tmpNum; } } else { sum += tmpNum; } shouldDouble = !shouldDouble; } return parseInt(str.substr(str.length - 1), 10) === (10000 - sum) % 10; } module.exports = exports['default'];
[-] isBoolean.js
[edit]
[-] isHexColor.js
[edit]
[-] equals.js
[edit]
[-] isUppercase.js
[edit]
[-] toInt.js
[edit]
[-] toDate.js
[edit]
[-] isIn.js
[edit]
[-] isDivisibleBy.js
[edit]
[-] toBoolean.js
[edit]
[-] isHexadecimal.js
[edit]
[+]
..
[-] isMobilePhone.js
[edit]
[-] isMD5.js
[edit]
[-] stripLow.js
[edit]
[-] contains.js
[edit]
[-] blacklist.js
[edit]
[-] isJSON.js
[edit]
[-] isURL.js
[edit]
[-] toFloat.js
[edit]
[-] isNumeric.js
[edit]
[-] isVariableWidth.js
[edit]
[-] isUUID.js
[edit]
[-] isDate.js
[edit]
[-] unescape.js
[edit]
[-] isISRC.js
[edit]
[-] isInt.js
[edit]
[-] alpha.js
[edit]
[-] isISSN.js
[edit]
[-] rtrim.js
[edit]
[-] isSurrogatePair.js
[edit]
[-] isMongoId.js
[edit]
[-] isCreditCard.js
[edit]
[-] isFullWidth.js
[edit]
[-] isISO8601.js
[edit]
[-] isBase64.js
[edit]
[-] isHalfWidth.js
[edit]
[-] isByteLength.js
[edit]
[-] isDataURI.js
[edit]
[-] isAfter.js
[edit]
[-] isISIN.js
[edit]
[-] normalizeEmail.js
[edit]
[-] isAlpha.js
[edit]
[-] isBefore.js
[edit]
[+]
util
[-] isCurrency.js
[edit]
[-] isWhitelisted.js
[edit]
[-] isMACAddress.js
[edit]
[-] ltrim.js
[edit]
[-] isLength.js
[edit]
[-] whitelist.js
[edit]
[-] isDecimal.js
[edit]
[-] isMultibyte.js
[edit]
[-] matches.js
[edit]
[-] trim.js
[edit]
[-] isAlphanumeric.js
[edit]
[-] isAscii.js
[edit]
[-] isEmpty.js
[edit]
[-] escape.js
[edit]
[-] isEmail.js
[edit]
[-] isLowercase.js
[edit]
[-] isFloat.js
[edit]
[-] isISBN.js
[edit]
[-] isIP.js
[edit]
[-] isFQDN.js
[edit]