UNPKG

@valkyriestudios/validator

Version:

A lightweight configurable javascript validator

27 lines (26 loc) 779 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.vEmail = vEmail; exports.default = vEmail; const RGX_USERNAME = /^(")?[A-Z0-9&._%+-]+(")?$/i; const RGX_DOMAIN = /^(\w{1,})([.-]?\w)*(\.\w{2,63})+$/; function vEmail(val) { if (typeof val !== 'string') return false; const len = val.length; if (!len) return false; const parts = val.split('@'); if (parts.length !== 2) return false; const [user, domain] = parts; const user_len = user.length; if (user_len > 64 || !RGX_USERNAME.test(user) || user[0] === '.' || user[user_len - 1] === '.' || user.indexOf('..') >= 0 || domain.length > 253) return false; return RGX_DOMAIN.test(domain); }