/var/www/greso.tech/server/nsm/node_modules/validator/lib
NameSizeModeActions
util/-0755rm
alpha.js70060644editdlrm
blacklist.js4980644editdlrm
contains.js9360644editdlrm
equals.js4580644editdlrm
escape.js6190644editdlrm
isAfter.js7970644editdlrm
isAlpha.js12170644editdlrm
isAlphanumeric.js12520644editdlrm
isAscii.js5510644editdlrm
isBase32.js8630644editdlrm
isBase58.js6150644editdlrm
isBase64.js10050644editdlrm
isBefore.js7350644editdlrm
isBIC.js8840644editdlrm
isBoolean.js7990644editdlrm
isBtcAddress.js5670644editdlrm
isByteLength.js12190644editdlrm
isCreditCard.js19100644editdlrm
isCurrency.js34000755editdlrm
isDataURI.js13030644editdlrm
isDate.js49650644editdlrm
isDecimal.js12550644editdlrm
isDivisibleBy.js5610644editdlrm
isEAN.js24610644editdlrm
isEmail.js63320644editdlrm
isEmpty.js7000644editdlrm
isEthereumAddress.js4970644editdlrm
isFloat.js10810644editdlrm
isFQDN.js21360644editdlrm
isFullWidth.js5240644editdlrm
isHalfWidth.js5230644editdlrm
isHash.js7310644editdlrm
isHexadecimal.js5060644editdlrm
isHexColor.js5280644editdlrm
isHSL.js12930644editdlrm
isIBAN.js54760644editdlrm
isIdentityCard.js125190644editdlrm
isIMEI.js12690644editdlrm
isIn.js15170644editdlrm
isInt.js11690644editdlrm
isIP.js30140644editdlrm
isIPRange.js14240644editdlrm
isISBN.js17540644editdlrm
isISIN.js18860644editdlrm
isISO4217.js18680644editdlrm
isISO6391.js15960644editdlrm
isISO8601.js24950644editdlrm
isISO31661Alpha2.js21530644editdlrm
isISO31661Alpha3.js23560644editdlrm
isISRC.js5460644editdlrm
isISSN.js10180644editdlrm
isJSON.js12720644editdlrm
isJWT.js7340644editdlrm
isLatLong.js12640644editdlrm
isLength.js13790644editdlrm
isLicensePlate.js48940644editdlrm
isLocale.js6250644editdlrm
isLowercase.js4630644editdlrm
isLuhnNumber.js9440644editdlrm
isLuhnValid.js9420644editdlrm
isMACAddress.js18510644editdlrm
isMagnetURI.js7210644editdlrm
isMD5.js4680644editdlrm
isMimeType.js22410644editdlrm
isMobilePhone.js89780644editdlrm
isMongoId.js5610644editdlrm
isMultibyte.js5650644editdlrm
isNumeric.js7190644editdlrm
isOctal.js4760644editdlrm
isPassportNumber.js37330644editdlrm
isPort.js4320644editdlrm
isPostalCode.js28110644editdlrm
isRFC3339.js13680644editdlrm
isRgbColor.js11580644editdlrm
isSemVer.js9490644editdlrm
isSlug.js5220644editdlrm
isStrongPassword.js31980644editdlrm
isSurrogatePair.js5240644editdlrm
isTaxID.js424900644editdlrm
isTime.js9250644editdlrm
isUppercase.js4630644editdlrm
isURL.js62700644editdlrm
isUUID.js10120644editdlrm
isVariableWidth.js6060644editdlrm
isVAT.js76770644editdlrm
isWhitelisted.js5710644editdlrm
ltrim.js6680644editdlrm
matches.js5930644editdlrm
normalizeEmail.js66660644editdlrm
rtrim.js9350644editdlrm
stripLow.js6420644editdlrm
toBoolean.js5610644editdlrm
toDate.js4930644editdlrm
toFloat.js4420644editdlrm
toInt.js4590644editdlrm
trim.js4940644editdlrm
unescape.js8070644editdlrm
whitelist.js4990644editdlrm
Edit: /var/www/greso.tech/server/nsm/node_modules/validator/lib/isEmail.js (6332B)
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isEmail; var _assertString = _interopRequireDefault(require("./util/assertString")); var _merge = _interopRequireDefault(require("./util/merge")); var _isByteLength = _interopRequireDefault(require("./isByteLength")); var _isFQDN = _interopRequireDefault(require("./isFQDN")); var _isIP = _interopRequireDefault(require("./isIP")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var default_email_options = { allow_display_name: false, require_display_name: false, allow_utf8_local_part: true, require_tld: true, blacklisted_chars: '', ignore_max_length: false, host_blacklist: [], host_whitelist: [] }; /* eslint-disable max-len */ /* eslint-disable no-control-regex */ var splitNameAddress = /^([^\x00-\x1F\x7F-\x9F\cX]+)]/.test(display_name_without_quotes); if (contains_illegal) { // if contains illegal characters, // must to be enclosed in double-quotes, otherwise it's not a valid display name if (display_name_without_quotes === display_name) { return false; } // the quotes in display name must start with character symbol \ var all_start_with_back_slash = display_name_without_quotes.split('"').length === display_name_without_quotes.split('\\"').length; if (!all_start_with_back_slash) { return false; } } return true; } function isEmail(str, options) { (0, _assertString.default)(str); options = (0, _merge.default)(options, default_email_options); if (options.require_display_name || options.allow_display_name) { var display_email = str.match(splitNameAddress); if (display_email) { var display_name = display_email[1]; // Remove display name and angle brackets to get email address // Can be done in the regex but will introduce a ReDOS (See #1597 for more info) str = str.replace(display_name, '').replace(/(^<|>$)/g, ''); // sometimes need to trim the last space to get the display name // because there may be a space between display name and email address // eg. myname // the display name is `myname` instead of `myname `, so need to trim the last space if (display_name.endsWith(' ')) { display_name = display_name.slice(0, -1); } if (!validateDisplayName(display_name)) { return false; } } else if (options.require_display_name) { return false; } } if (!options.ignore_max_length && str.length > defaultMaxEmailLength) { return false; } var parts = str.split('@'); var domain = parts.pop(); var lower_domain = domain.toLowerCase(); if (options.host_blacklist.includes(lower_domain)) { return false; } if (options.host_whitelist.length > 0 && !options.host_whitelist.includes(lower_domain)) { return false; } var user = parts.join('@'); if (options.domain_specific_validation && (lower_domain === 'gmail.com' || lower_domain === 'googlemail.com')) { /* Previously we removed dots for gmail addresses before validating. This was removed because it allows `multiple..dots@gmail.com` to be reported as valid, but it is not. Gmail only normalizes single dots, removing them from here is pointless, should be done in normalizeEmail */ user = user.toLowerCase(); // Removing sub-address from username before gmail validation var username = user.split('+')[0]; // Dots are not included in gmail length restriction if (!(0, _isByteLength.default)(username.replace(/\./g, ''), { min: 6, max: 30 })) { return false; } var _user_parts = username.split('.'); for (var i = 0; i < _user_parts.length; i++) { if (!gmailUserPart.test(_user_parts[i])) { return false; } } } if (options.ignore_max_length === false && (!(0, _isByteLength.default)(user, { max: 64 }) || !(0, _isByteLength.default)(domain, { max: 254 }))) { return false; } if (!(0, _isFQDN.default)(domain, { require_tld: options.require_tld, ignore_max_length: options.ignore_max_length })) { if (!options.allow_ip_domain) { return false; } if (!(0, _isIP.default)(domain)) { if (!domain.startsWith('[') || !domain.endsWith(']')) { return false; } var noBracketdomain = domain.slice(1, -1); if (noBracketdomain.length === 0 || !(0, _isIP.default)(noBracketdomain)) { return false; } } } if (user[0] === '"') { user = user.slice(1, user.length - 1); return options.allow_utf8_local_part ? quotedEmailUserUtf8.test(user) : quotedEmailUser.test(user); } var pattern = options.allow_utf8_local_part ? emailUserUtf8Part : emailUserPart; var user_parts = user.split('.'); for (var _i = 0; _i < user_parts.length; _i++) { if (!pattern.test(user_parts[_i])) { return false; } } if (options.blacklisted_chars) { if (user.search(new RegExp("[".concat(options.blacklisted_chars, "]+"), 'g')) !== -1) return false; } return true; } module.exports = exports.default; module.exports.default = exports.default;