export const simpleVerifyEmail = (email = '', setMessage = (message: string) => { return message }): string => { const emailParts = email.split('@') const emailDomain = emailParts[1] let errorMessage = '' if (emailDomain !== undefined) { if (emailDomain === '') { errorMessage = 'por favor proporcione el dominio de la dirección de correo electrónico' setMessage(`${errorMessage}`) } else { // eslint-disable-next-line no-useless-escape const validDomainRegExp = /^((?:(?:(?:\w[\.\-\+]?)*)\w)+)((?:(?:(?:\w[\.\-+]?){0,62})\w)+)\.(\w{2,6})$/ if (emailDomain.match(validDomainRegExp) == null) { errorMessage = 'por favor verifique el dominio de la dirección de correo electrónico' setMessage(errorMessage) } } } return errorMessage } export const topLevelEmailDomainList = [ 'gmail.com', 'outlook.com', 'hotmail.com', 'live.com', 'yahoo.com', 'icloud.com' ] export const otherLevelEmailDomainList = [ 'gmail.com', 'gmail.co.uk', 'outlook.com', 'outlook.co.uk', 'yahoo.com', 'yahoo.ca', 'hotmail.com', 'live.com', 'icloud.com' ] export const provideEmailSuggestion = (email: string): string[] => { const emailParts = email.split('@') const emailUsername = emailParts[0] const emailDomain = emailParts[1] let suggestionList = [] as string[] if (emailDomain !== undefined) { if (emailDomain === '') { suggestionList = topLevelEmailDomainList?.map( domain => { return emailUsername + '@' + domain } ) } else { suggestionList = otherLevelEmailDomainList.filter(domain => { return domain.startsWith(emailDomain) }).map(domain => { return emailUsername + '@' + domain }) } } return suggestionList }