UNPKG

@devmehq/email-validator-js

Version:

Advanced Email Validation with DNS MX lookup and Mailbox Verification

31 lines (30 loc) 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isValidEmailDomain = isValidEmailDomain; exports.isValidEmail = isValidEmail; const psl_1 = require("psl"); const isValidResults = {}; function isValidEmailDomain(emailOrDomain) { let [_, emailDomain] = emailOrDomain === null || emailOrDomain === void 0 ? void 0 : emailOrDomain.split('@'); if (!emailDomain) { emailDomain = _; } if (!emailDomain) { return false; } // cache results if (isValidResults[emailDomain]) return isValidResults[emailDomain]; try { isValidResults[emailDomain] = (0, psl_1.isValid)(emailDomain); return isValidResults[emailDomain]; } catch (e) { isValidResults[emailDomain] = false; return false; } } function isValidEmail(emailAddress) { const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return re.test(String(emailAddress).toLowerCase()) && emailAddress.indexOf('.+') === -1; }