/var/www/qr4y.com/server/delivery/node_modules/validator/lib
NameSizeModeActions
util/-0755rm
alpha.js58160644editdlrm
blacklist.js4980644editdlrm
contains.js9360644editdlrm
equals.js4580644editdlrm
escape.js6190644editdlrm
isAfter.js7330644editdlrm
isAlpha.js12170644editdlrm
isAlphanumeric.js12520644editdlrm
isAscii.js5510644editdlrm
isBase32.js5580644editdlrm
isBase58.js6150644editdlrm
isBase64.js10050644editdlrm
isBefore.js7350644editdlrm
isBIC.js8260644editdlrm
isBoolean.js7990644editdlrm
isBtcAddress.js6620644editdlrm
isByteLength.js12190644editdlrm
isCreditCard.js13360644editdlrm
isCurrency.js34000755editdlrm
isDataURI.js13020644editdlrm
isDate.js49650644editdlrm
isDecimal.js12550644editdlrm
isDivisibleBy.js5610644editdlrm
isEAN.js24610644editdlrm
isEmail.js61820644editdlrm
isEmpty.js7000644editdlrm
isEthereumAddress.js4970644editdlrm
isFloat.js10660644editdlrm
isFQDN.js20480644editdlrm
isFullWidth.js5240644editdlrm
isHalfWidth.js5230644editdlrm
isHash.js7310644editdlrm
isHexadecimal.js5060644editdlrm
isHexColor.js5280644editdlrm
isHSL.js12930644editdlrm
isIBAN.js54760644editdlrm
isIdentityCard.js114060644editdlrm
isIMEI.js12690644editdlrm
isIn.js15170644editdlrm
isInt.js11690644editdlrm
isIP.js31530644editdlrm
isIPRange.js14240644editdlrm
isISBN.js14710644editdlrm
isISIN.js18860644editdlrm
isISO4217.js18680644editdlrm
isISO8601.js24950644editdlrm
isISO31661Alpha2.js21530644editdlrm
isISO31661Alpha3.js23560644editdlrm
isISRC.js5460644editdlrm
isISSN.js10180644editdlrm
isJSON.js12720644editdlrm
isJWT.js7340644editdlrm
isLatLong.js12640644editdlrm
isLength.js12810644editdlrm
isLicensePlate.js41540644editdlrm
isLocale.js6250644editdlrm
isLowercase.js4630644editdlrm
isMACAddress.js8980644editdlrm
isMagnetURI.js6080644editdlrm
isMD5.js4680644editdlrm
isMimeType.js22400644editdlrm
isMobilePhone.js77710644editdlrm
isMongoId.js5610644editdlrm
isMultibyte.js5650644editdlrm
isNumeric.js7190644editdlrm
isOctal.js4760644editdlrm
isPassportNumber.js32940644editdlrm
isPort.js4320644editdlrm
isPostalCode.js27730644editdlrm
isRFC3339.js13680644editdlrm
isRgbColor.js11560644editdlrm
isSemVer.js9490644editdlrm
isSlug.js5220644editdlrm
isStrongPassword.js31960644editdlrm
isSurrogatePair.js5240644editdlrm
isTaxID.js414320644editdlrm
isUppercase.js4630644editdlrm
isURL.js62040644editdlrm
isUUID.js10120644editdlrm
isVariableWidth.js6060644editdlrm
isVAT.js7970644editdlrm
isWhitelisted.js5710644editdlrm
ltrim.js6680644editdlrm
matches.js5900644editdlrm
normalizeEmail.js66660644editdlrm
rtrim.js9350644editdlrm
stripLow.js6420644editdlrm
toBoolean.js5610644editdlrm
toDate.js4930644editdlrm
toFloat.js4420644editdlrm
toInt.js4590644editdlrm
trim.js4940644editdlrm
unescape.js8070644editdlrm
whitelist.js4990644editdlrm
Edit: /var/www/qr4y.com/server/delivery/node_modules/validator/lib/isEmail.js (6182B)
"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: [] }; /* 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.substr(0, display_name.length - 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; } 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 })) { if (!options.allow_ip_domain) { return false; } if (!(0, _isIP.default)(domain)) { if (!domain.startsWith('[') || !domain.endsWith(']')) { return false; } var noBracketdomain = domain.substr(1, domain.length - 2); 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;