/
var
/
www
/
verywell.gr
/
server
/
delivery
/
node_modules
/
validator
/
es
/
lib
/
/var/www/verywell.gr/server/delivery/node_modules/validator/es/lib
mkdir
upload
Name
Size
Mode
Actions
util/
-
0755
rm
alpha.js
5337
0644
edit
dl
rm
blacklist.js
186
0644
edit
dl
rm
contains.js
524
0644
edit
dl
rm
equals.js
149
0644
edit
dl
rm
escape.js
310
0644
edit
dl
rm
isAfter.js
366
0644
edit
dl
rm
isAlpha.js
915
0644
edit
dl
rm
isAlphanumeric.js
950
0644
edit
dl
rm
isAscii.js
242
0644
edit
dl
rm
isBase32.js
246
0644
edit
dl
rm
isBase58.js
304
0644
edit
dl
rm
isBase64.js
650
0644
edit
dl
rm
isBefore.js
367
0644
edit
dl
rm
isBIC.js
497
0644
edit
dl
rm
isBoolean.js
486
0644
edit
dl
rm
isBtcAddress.js
347
0644
edit
dl
rm
isByteLength.js
905
0644
edit
dl
rm
isCreditCard.js
1022
0644
edit
dl
rm
isCurrency.js
3044
0755
edit
dl
rm
isDataURI.js
989
0644
edit
dl
rm
isDate.js
4648
0644
edit
dl
rm
isDecimal.js
844
0644
edit
dl
rm
isDivisibleBy.js
202
0644
edit
dl
rm
isEAN.js
2155
0644
edit
dl
rm
isEmail.js
5658
0644
edit
dl
rm
isEmpty.js
346
0644
edit
dl
rm
isEthereumAddress.js
176
0644
edit
dl
rm
isFloat.js
776
0644
edit
dl
rm
isFQDN.js
1695
0644
edit
dl
rm
isFullWidth.js
234
0644
edit
dl
rm
isHalfWidth.js
233
0644
edit
dl
rm
isHash.js
421
0644
edit
dl
rm
isHexadecimal.js
189
0644
edit
dl
rm
isHexColor.js
214
0644
edit
dl
rm
isHSL.js
984
0644
edit
dl
rm
isIBAN.js
5200
0644
edit
dl
rm
isIdentityCard.js
11005
0644
edit
dl
rm
isIMEI.js
959
0644
edit
dl
rm
isIn.js
1167
0644
edit
dl
rm
isInt.js
862
0644
edit
dl
rm
isIP.js
2846
0644
edit
dl
rm
isIPRange.js
1054
0644
edit
dl
rm
isISBN.js
1161
0644
edit
dl
rm
isISIN.js
1584
0644
edit
dl
rm
isISO4217.js
1568
0644
edit
dl
rm
isISO8601.js
2184
0644
edit
dl
rm
isISO31661Alpha2.js
1849
0644
edit
dl
rm
isISO31661Alpha3.js
2037
0644
edit
dl
rm
isISRC.js
237
0644
edit
dl
rm
isISSN.js
708
0644
edit
dl
rm
isJSON.js
919
0644
edit
dl
rm
isJWT.js
387
0644
edit
dl
rm
isLatLong.js
910
0644
edit
dl
rm
isLength.js
971
0644
edit
dl
rm
isLicensePlate.js
3836
0644
edit
dl
rm
isLocale.js
313
0644
edit
dl
rm
isLowercase.js
149
0644
edit
dl
rm
isMACAddress.js
582
0644
edit
dl
rm
isMagnetURI.js
293
0644
edit
dl
rm
isMD5.js
159
0644
edit
dl
rm
isMimeType.js
1928
0644
edit
dl
rm
isMobilePhone.js
7485
0644
edit
dl
rm
isMongoId.js
206
0644
edit
dl
rm
isMultibyte.js
252
0644
edit
dl
rm
isNumeric.js
400
0644
edit
dl
rm
isOctal.js
165
0644
edit
dl
rm
isPassportNumber.js
2976
0644
edit
dl
rm
isPort.js
123
0644
edit
dl
rm
isPostalCode.js
2489
0644
edit
dl
rm
isRFC3339.js
1056
0644
edit
dl
rm
isRgbColor.js
842
0644
edit
dl
rm
isSemVer.js
597
0644
edit
dl
rm
isSlug.js
212
0644
edit
dl
rm
isStrongPassword.js
2856
0644
edit
dl
rm
isSurrogatePair.js
205
0644
edit
dl
rm
isTaxID.js
39521
0644
edit
dl
rm
isUppercase.js
149
0644
edit
dl
rm
isURL.js
5754
0644
edit
dl
rm
isUUID.js
702
0644
edit
dl
rm
isVariableWidth.js
256
0644
edit
dl
rm
isVAT.js
493
0644
edit
dl
rm
isWhitelisted.js
255
0644
edit
dl
rm
ltrim.js
360
0644
edit
dl
rm
matches.js
280
0644
edit
dl
rm
normalizeEmail.js
6349
0644
edit
dl
rm
rtrim.js
627
0644
edit
dl
rm
stripLow.js
288
0644
edit
dl
rm
toBoolean.js
249
0644
edit
dl
rm
toDate.js
184
0644
edit
dl
rm
toFloat.js
132
0644
edit
dl
rm
toInt.js
151
0644
edit
dl
rm
trim.js
144
0644
edit
dl
rm
unescape.js
496
0644
edit
dl
rm
whitelist.js
187
0644
edit
dl
rm
Edit:
/var/www/verywell.gr/server/delivery/node_modules/validator/es/lib/isIdentityCard.js
(11005B)
import assertString from './util/assertString'; import isInt from './isInt'; var validators = { PL: function PL(str) { assertString(str); var weightOfDigits = { 1: 1, 2: 3, 3: 7, 4: 9, 5: 1, 6: 3, 7: 7, 8: 9, 9: 1, 10: 3, 11: 0 }; if (str != null && str.length === 11 && isInt(str, { allow_leading_zeroes: true })) { var digits = str.split('').slice(0, -1); var sum = digits.reduce(function (acc, digit, index) { return acc + Number(digit) * weightOfDigits[index + 1]; }, 0); var modulo = sum % 10; var lastDigit = Number(str.charAt(str.length - 1)); if (modulo === 0 && lastDigit === 0 || lastDigit === 10 - modulo) { return true; } } return false; }, ES: function ES(str) { assertString(str); var DNI = /^[0-9X-Z][0-9]{7}[TRWAGMYFPDXBNJZSQVHLCKE]$/; var charsValue = { X: 0, Y: 1, Z: 2 }; var controlDigits = ['T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F', 'P', 'D', 'X', 'B', 'N', 'J', 'Z', 'S', 'Q', 'V', 'H', 'L', 'C', 'K', 'E']; // sanitize user input var sanitized = str.trim().toUpperCase(); // validate the data structure if (!DNI.test(sanitized)) { return false; } // validate the control digit var number = sanitized.slice(0, -1).replace(/[X,Y,Z]/g, function (_char) { return charsValue[_char]; }); return sanitized.endsWith(controlDigits[number % 23]); }, FI: function FI(str) { // https://dvv.fi/en/personal-identity-code#:~:text=control%20character%20for%20a-,personal,-identity%20code%20calculated assertString(str); if (str.length !== 11) { return false; } if (!str.match(/^\d{6}[\-A\+]\d{3}[0-9ABCDEFHJKLMNPRSTUVWXY]{1}$/)) { return false; } var checkDigits = '0123456789ABCDEFHJKLMNPRSTUVWXY'; var idAsNumber = parseInt(str.slice(0, 6), 10) * 1000 + parseInt(str.slice(7, 10), 10); var remainder = idAsNumber % 31; var checkDigit = checkDigits[remainder]; return checkDigit === str.slice(10, 11); }, IN: function IN(str) { var DNI = /^[1-9]\d{3}\s?\d{4}\s?\d{4}$/; // multiplication table var d = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 0, 6, 7, 8, 9, 5], [2, 3, 4, 0, 1, 7, 8, 9, 5, 6], [3, 4, 0, 1, 2, 8, 9, 5, 6, 7], [4, 0, 1, 2, 3, 9, 5, 6, 7, 8], [5, 9, 8, 7, 6, 0, 4, 3, 2, 1], [6, 5, 9, 8, 7, 1, 0, 4, 3, 2], [7, 6, 5, 9, 8, 2, 1, 0, 4, 3], [8, 7, 6, 5, 9, 3, 2, 1, 0, 4], [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]]; // permutation table var p = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 5, 7, 6, 2, 8, 3, 0, 9, 4], [5, 8, 0, 3, 7, 9, 6, 1, 4, 2], [8, 9, 1, 6, 0, 4, 3, 5, 2, 7], [9, 4, 5, 3, 1, 2, 6, 8, 7, 0], [4, 2, 8, 6, 5, 7, 3, 9, 0, 1], [2, 7, 9, 3, 8, 0, 6, 4, 1, 5], [7, 0, 4, 6, 9, 1, 3, 2, 5, 8]]; // sanitize user input var sanitized = str.trim(); // validate the data structure if (!DNI.test(sanitized)) { return false; } var c = 0; var invertedArray = sanitized.replace(/\s/g, '').split('').map(Number).reverse(); invertedArray.forEach(function (val, i) { c = d[c][p[i % 8][val]]; }); return c === 0; }, IR: function IR(str) { if (!str.match(/^\d{10}$/)) return false; str = "0000".concat(str).substr(str.length - 6); if (parseInt(str.substr(3, 6), 10) === 0) return false; var lastNumber = parseInt(str.substr(9, 1), 10); var sum = 0; for (var i = 0; i < 9; i++) { sum += parseInt(str.substr(i, 1), 10) * (10 - i); } sum %= 11; return sum < 2 && lastNumber === sum || sum >= 2 && lastNumber === 11 - sum; }, IT: function IT(str) { if (str.length !== 9) return false; if (str === 'CA00000AA') return false; // https://it.wikipedia.org/wiki/Carta_d%27identit%C3%A0_elettronica_italiana return str.search(/C[A-Z][0-9]{5}[A-Z]{2}/i) > -1; }, NO: function NO(str) { var sanitized = str.trim(); if (isNaN(Number(sanitized))) return false; if (sanitized.length !== 11) return false; if (sanitized === '00000000000') return false; // https://no.wikipedia.org/wiki/F%C3%B8dselsnummer var f = sanitized.split('').map(Number); var k1 = (11 - (3 * f[0] + 7 * f[1] + 6 * f[2] + 1 * f[3] + 8 * f[4] + 9 * f[5] + 4 * f[6] + 5 * f[7] + 2 * f[8]) % 11) % 11; var k2 = (11 - (5 * f[0] + 4 * f[1] + 3 * f[2] + 2 * f[3] + 7 * f[4] + 6 * f[5] + 5 * f[6] + 4 * f[7] + 3 * f[8] + 2 * k1) % 11) % 11; if (k1 !== f[9] || k2 !== f[10]) return false; return true; }, TH: function TH(str) { if (!str.match(/^[1-8]\d{12}$/)) return false; // validate check digit var sum = 0; for (var i = 0; i < 12; i++) { sum += parseInt(str[i], 10) * (13 - i); } return str[12] === ((11 - sum % 11) % 10).toString(); }, LK: function LK(str) { var old_nic = /^[1-9]\d{8}[vx]$/i; var new_nic = /^[1-9]\d{11}$/i; if (str.length === 10 && old_nic.test(str)) return true;else if (str.length === 12 && new_nic.test(str)) return true; return false; }, 'he-IL': function heIL(str) { var DNI = /^\d{9}$/; // sanitize user input var sanitized = str.trim(); // validate the data structure if (!DNI.test(sanitized)) { return false; } var id = sanitized; var sum = 0, incNum; for (var i = 0; i < id.length; i++) { incNum = Number(id[i]) * (i % 2 + 1); // Multiply number by 1 or 2 sum += incNum > 9 ? incNum - 9 : incNum; // Sum the digits up and add to total } return sum % 10 === 0; }, 'ar-LY': function arLY(str) { // Libya National Identity Number NIN is 12 digits, the first digit is either 1 or 2 var NIN = /^(1|2)\d{11}$/; // sanitize user input var sanitized = str.trim(); // validate the data structure if (!NIN.test(sanitized)) { return false; } return true; }, 'ar-TN': function arTN(str) { var DNI = /^\d{8}$/; // sanitize user input var sanitized = str.trim(); // validate the data structure if (!DNI.test(sanitized)) { return false; } return true; }, 'zh-CN': function zhCN(str) { var provincesAndCities = ['11', // 北京 '12', // 天津 '13', // 河北 '14', // 山西 '15', // 内蒙古 '21', // 辽宁 '22', // 吉林 '23', // 黑龙江 '31', // 上海 '32', // 江苏 '33', // 浙江 '34', // 安徽 '35', // 福建 '36', // 江西 '37', // 山东 '41', // 河南 '42', // 湖北 '43', // 湖南 '44', // 广东 '45', // 广西 '46', // 海南 '50', // 重庆 '51', // 四川 '52', // 贵州 '53', // 云南 '54', // 西藏 '61', // 陕西 '62', // 甘肃 '63', // 青海 '64', // 宁夏 '65', // 新疆 '71', // 台湾 '81', // 香港 '82', // 澳门 '91' // 国外 ]; var powers = ['7', '9', '10', '5', '8', '4', '2', '1', '6', '3', '7', '9', '10', '5', '8', '4', '2']; var parityBit = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']; var checkAddressCode = function checkAddressCode(addressCode) { return provincesAndCities.includes(addressCode); }; var checkBirthDayCode = function checkBirthDayCode(birDayCode) { var yyyy = parseInt(birDayCode.substring(0, 4), 10); var mm = parseInt(birDayCode.substring(4, 6), 10); var dd = parseInt(birDayCode.substring(6), 10); var xdata = new Date(yyyy, mm - 1, dd); if (xdata > new Date()) { return false; // eslint-disable-next-line max-len } else if (xdata.getFullYear() === yyyy && xdata.getMonth() === mm - 1 && xdata.getDate() === dd) { return true; } return false; }; var getParityBit = function getParityBit(idCardNo) { var id17 = idCardNo.substring(0, 17); var power = 0; for (var i = 0; i < 17; i++) { power += parseInt(id17.charAt(i), 10) * parseInt(powers[i], 10); } var mod = power % 11; return parityBit[mod]; }; var checkParityBit = function checkParityBit(idCardNo) { return getParityBit(idCardNo) === idCardNo.charAt(17).toUpperCase(); }; var check15IdCardNo = function check15IdCardNo(idCardNo) { var check = /^[1-9]\d{7}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))\d{3}$/.test(idCardNo); if (!check) return false; var addressCode = idCardNo.substring(0, 2); check = checkAddressCode(addressCode); if (!check) return false; var birDayCode = "19".concat(idCardNo.substring(6, 12)); check = checkBirthDayCode(birDayCode); if (!check) return false; return true; }; var check18IdCardNo = function check18IdCardNo(idCardNo) { var check = /^[1-9]\d{5}[1-9]\d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))\d{3}(\d|x|X)$/.test(idCardNo); if (!check) return false; var addressCode = idCardNo.substring(0, 2); check = checkAddressCode(addressCode); if (!check) return false; var birDayCode = idCardNo.substring(6, 14); check = checkBirthDayCode(birDayCode); if (!check) return false; return checkParityBit(idCardNo); }; var checkIdCardNo = function checkIdCardNo(idCardNo) { var check = /^\d{15}|(\d{17}(\d|x|X))$/.test(idCardNo); if (!check) return false; if (idCardNo.length === 15) { return check15IdCardNo(idCardNo); } return check18IdCardNo(idCardNo); }; return checkIdCardNo(str); }, 'zh-TW': function zhTW(str) { var ALPHABET_CODES = { A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, G: 16, H: 17, I: 34, J: 18, K: 19, L: 20, M: 21, N: 22, O: 35, P: 23, Q: 24, R: 25, S: 26, T: 27, U: 28, V: 29, W: 32, X: 30, Y: 31, Z: 33 }; var sanitized = str.trim().toUpperCase(); if (!/^[A-Z][0-9]{9}$/.test(sanitized)) return false; return Array.from(sanitized).reduce(function (sum, number, index) { if (index === 0) { var code = ALPHABET_CODES[number]; return code % 10 * 9 + Math.floor(code / 10); } if (index === 9) { return (10 - sum % 10 - Number(number)) % 10 === 0; } return sum + Number(number) * (9 - index); }, 0); } }; export default function isIdentityCard(str, locale) { assertString(str); if (locale in validators) { return validators[locale](str); } else if (locale === 'any') { for (var key in validators) { // https://github.com/gotwarlost/istanbul/blob/master/ignoring-code-for-coverage.md#ignoring-code-for-coverage-purposes // istanbul ignore else if (validators.hasOwnProperty(key)) { var validator = validators[key]; if (validator(str)) { return true; } } } return false; } throw new Error("Invalid locale '".concat(locale, "'")); }
Save
cmd:
run