UNPKG

@brontosaurus/db

Version:
42 lines (41 loc) 1.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validatePhone = exports.PHONE_VALIDATE_RESPONSE = exports.validateEmail = exports.EMAIL_VALIDATE_RESPONSE = void 0; var EMAIL_VALIDATE_RESPONSE; (function (EMAIL_VALIDATE_RESPONSE) { EMAIL_VALIDATE_RESPONSE["OK"] = "OK"; EMAIL_VALIDATE_RESPONSE["NO_AT_SIGN"] = "NO_AT_SIGN"; EMAIL_VALIDATE_RESPONSE["INVALID_USER"] = "INVALID_USER"; EMAIL_VALIDATE_RESPONSE["INVALID_DOMAIN"] = "INVALID_DOMAIN"; })(EMAIL_VALIDATE_RESPONSE = exports.EMAIL_VALIDATE_RESPONSE || (exports.EMAIL_VALIDATE_RESPONSE = {})); const validateEmail = (email) => { const splited = email.split('@'); if (splited.length !== 2) { return EMAIL_VALIDATE_RESPONSE.NO_AT_SIGN; } const user = splited[0]; const domain = splited[1]; if (!/^[a-zA-Z0-9][a-zA-Z0-9-_]+(\.[0-9a-zA-Z]+)*\.[a-zA-Z]{2,11}?$/igm.test(domain)) { return EMAIL_VALIDATE_RESPONSE.INVALID_DOMAIN; } if (user.length <= 2) { if (!/^[a-zA-Z0-9]+$/igm.test(user)) { return EMAIL_VALIDATE_RESPONSE.INVALID_USER; } } else { if (!/^[a-zA-Z0-9][a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+[a-zA-Z0-9]$/igm.test(user)) { return EMAIL_VALIDATE_RESPONSE.INVALID_USER; } } return EMAIL_VALIDATE_RESPONSE.OK; }; exports.validateEmail = validateEmail; var PHONE_VALIDATE_RESPONSE; (function (PHONE_VALIDATE_RESPONSE) { PHONE_VALIDATE_RESPONSE["OK"] = "OK"; })(PHONE_VALIDATE_RESPONSE = exports.PHONE_VALIDATE_RESPONSE || (exports.PHONE_VALIDATE_RESPONSE = {})); const validatePhone = (phone) => { return PHONE_VALIDATE_RESPONSE.OK; }; exports.validatePhone = validatePhone;