/
home2
/
dakshskx
/
test.dakshadesign.com
/
node_modules
/
validator
/
es
/
lib
/
/home2/dakshskx/test.dakshadesign.com/node_modules/validator/es/lib
mkdir
upload
Name
Size
Mode
Actions
util/
-
0755
rm
alpha.js
6734
0644
edit
dl
rm
blacklist.js
186
0644
edit
dl
rm
contains.js
522
0644
edit
dl
rm
equals.js
149
0644
edit
dl
rm
escape.js
310
0644
edit
dl
rm
isAbaRouting.js
683
0644
edit
dl
rm
isAfter.js
473
0644
edit
dl
rm
isAlpha.js
912
0644
edit
dl
rm
isAlphanumeric.js
947
0644
edit
dl
rm
isAscii.js
242
0644
edit
dl
rm
isBase32.js
504
0644
edit
dl
rm
isBase58.js
302
0644
edit
dl
rm
isBase64.js
647
0644
edit
dl
rm
isBefore.js
367
0644
edit
dl
rm
isBIC.js
555
0644
edit
dl
rm
isBoolean.js
484
0644
edit
dl
rm
isBtcAddress.js
251
0644
edit
dl
rm
isByteLength.js
842
0644
edit
dl
rm
isCreditCard.js
1530
0644
edit
dl
rm
isCurrency.js
3036
0644
edit
dl
rm
isDataURI.js
982
0644
edit
dl
rm
isDate.js
5439
0644
edit
dl
rm
isDecimal.js
840
0644
edit
dl
rm
isDivisibleBy.js
202
0644
edit
dl
rm
isEAN.js
2153
0644
edit
dl
rm
isEmail.js
5883
0644
edit
dl
rm
isEmpty.js
346
0644
edit
dl
rm
isEthereumAddress.js
176
0644
edit
dl
rm
isFloat.js
788
0644
edit
dl
rm
isFQDN.js
1785
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
6454
0644
edit
dl
rm
isIdentityCard.js
12284
0644
edit
dl
rm
isIMEI.js
949
0644
edit
dl
rm
isIn.js
1102
0644
edit
dl
rm
isInt.js
825
0644
edit
dl
rm
isIP.js
2702
0644
edit
dl
rm
isIPRange.js
1051
0644
edit
dl
rm
isISBN.js
1437
0644
edit
dl
rm
isISIN.js
1584
0644
edit
dl
rm
isISO4217.js
1575
0644
edit
dl
rm
isISO6346.js
1176
0644
edit
dl
rm
isISO6391.js
1283
0644
edit
dl
rm
isISO8601.js
2182
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
704
0644
edit
dl
rm
isJSON.js
846
0644
edit
dl
rm
isJWT.js
376
0644
edit
dl
rm
isLatLong.js
908
0644
edit
dl
rm
isLength.js
1006
0644
edit
dl
rm
isLicensePlate.js
4863
0644
edit
dl
rm
isLocale.js
3493
0644
edit
dl
rm
isLowercase.js
149
0644
edit
dl
rm
isLuhnNumber.js
624
0644
edit
dl
rm
isMACAddress.js
1527
0644
edit
dl
rm
isMagnetURI.js
404
0644
edit
dl
rm
isMailtoURI.js
4483
0644
edit
dl
rm
isMD5.js
159
0644
edit
dl
rm
isMimeType.js
1930
0644
edit
dl
rm
isMobilePhone.js
8972
0644
edit
dl
rm
isMongoId.js
206
0644
edit
dl
rm
isMultibyte.js
252
0644
edit
dl
rm
isNumeric.js
398
0644
edit
dl
rm
isOctal.js
165
0644
edit
dl
rm
isPassportNumber.js
3450
0644
edit
dl
rm
isPort.js
156
0644
edit
dl
rm
isPostalCode.js
2540
0644
edit
dl
rm
isRFC3339.js
1057
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
2849
0644
edit
dl
rm
isSurrogatePair.js
205
0644
edit
dl
rm
isTaxID.js
41731
0644
edit
dl
rm
isTime.js
619
0644
edit
dl
rm
isUppercase.js
149
0644
edit
dl
rm
isURL.js
5817
0644
edit
dl
rm
isUUID.js
781
0644
edit
dl
rm
isVariableWidth.js
256
0644
edit
dl
rm
isVAT.js
7038
0644
edit
dl
rm
isWhitelisted.js
253
0644
edit
dl
rm
ltrim.js
361
0644
edit
dl
rm
matches.js
281
0644
edit
dl
rm
normalizeEmail.js
6336
0644
edit
dl
rm
rtrim.js
624
0644
edit
dl
rm
stripLow.js
288
0644
edit
dl
rm
toBoolean.js
247
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
498
0644
edit
dl
rm
whitelist.js
187
0644
edit
dl
rm
Edit:
/home2/dakshskx/test.dakshadesign.com/node_modules/validator/es/lib/isIdentityCard.js
(12284B)
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).slice(str.length - 6); if (parseInt(str.slice(3, 9), 10) === 0) return false; var lastNumber = parseInt(str.slice(9, 10), 10); var sum = 0; for (var i = 0; i < 9; i++) { sum += parseInt(str.slice(i, 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]\d{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-HK': function zhHK(str) { // sanitize user input str = str.trim(); // HKID number starts with 1 or 2 letters, followed by 6 digits, // then a checksum contained in square / round brackets or nothing var regexHKID = /^[A-Z]{1,2}[0-9]{6}((\([0-9A]\))|(\[[0-9A]\])|([0-9A]))$/; var regexIsDigit = /^[0-9]$/; // convert the user input to all uppercase and apply regex str = str.toUpperCase(); if (!regexHKID.test(str)) return false; str = str.replace(/\[|\]|\(|\)/g, ''); if (str.length === 8) str = "3".concat(str); var checkSumVal = 0; for (var i = 0; i <= 7; i++) { var convertedChar = void 0; if (!regexIsDigit.test(str[i])) convertedChar = (str[i].charCodeAt(0) - 55) % 11;else convertedChar = str[i]; checkSumVal += convertedChar * (9 - i); } checkSumVal %= 11; var checkSumConverted; if (checkSumVal === 0) checkSumConverted = '0';else if (checkSumVal === 1) checkSumConverted = 'A';else checkSumConverted = String(11 - checkSumVal); if (checkSumConverted === str[str.length - 1]) return true; return false; }, '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