email-misspelled
Lightweight < 3ko lib
Check the misspelled email's domain and return a list of matching domain suggestions sorted by corrections needed
The string comparison is based on this algorithm
Table of Contents
- Install
- Usages
- Options
- Typescript support
Install
Install with npm:
npm i email-misspelled --save
Install with yarn:
yarn add email-misspelled
Usages
import emailMisspelled, { top100 } from "email-misspelled"
const emailChecker = emailMisspelled({ domains: top100 })
emailChecker("user@otmail.com")
Returned object model
Result
Result = {
suggest: string
corrected: string
misspelledCount: number
original: string
}[]
Options
domains
Type | Required | Description |
---|
string[] DomainList | true | list of domains to compare |
import emailMisspelled from "email-misspelled"
const emailChecker = emailMisspelled({ domains: ["random.org"] })
emailChecker("user@hotmial.com")
emailChecker("user@randmo.org")
List of domains avaibles :
More details here
examples
import { top100, hotmail, live } from "email-misspelled"
or
import { top100, hotmail, live } from "email-misspelled/domains"
or
import top100 from "email-misspelled/domains/popular"
import hotmail from "email-misspelled/domains/hotmail"
import live from "email-misspelled/domains/live"
Feel free to contribute
maxMisspelled
Type | Required | Default | Description |
---|
number | false | 2 | max possible misspelled |
import emailMisspelled, { top100 } from "email-misspelled"
const emailChecker1 = emailMisspelled({ maxMisspelled: 1, domains: top100 })
emailChecker1("user@hotmial.com")
emailChecker1("user@hotmia.com")
const emailChecker2 = emailMisspelled({ maxMisspelled: 3, domains: top100 })
emailChecker2("user@hotmial.com")
emailChecker2("user@hotmia.com")
emailChecker2("user@otmia.com")
lengthDiffMax
Type | Required | Default | Description |
---|
number | false | 3 | max length difference between two string |
import emailMisspelled, { top100 } from "email-misspelled"
const emailChecker1 = emailMisspelled({ lengthDiffMax: 1, domains: top100 })
emailChecker1("user@otmail.com")
emailChecker1("user@tmail.com")
const emailChecker2 = emailMisspelled({ lengthDiffMax: 2, domains: top100 })
emailChecker2("user@otmail.com")
emailChecker2("user@tmail.com")
Typescript support
You can find Types and Interfaces under the /typings
folder
DomainList
import { DomainList } from "email-misspelled/typings"
string[]
EmailMisspelledConstructor
import { EmailMisspelledConstructor } from "email-misspelled/typings"
(config: {
lengthDiffMax?: number;
maxMisspelled?: number;
domains: DomainList;
}): EmailMisspelled;
EmailMisspelled
import { EmailMisspelled } from "email-misspelled/typings"
(email: string): Result[]
Result
import { Result } from "email-misspelled/typings"
{
suggest: string;
corrected: string;
misspelledCount: number;
original: string;
}
Top 100 domains list
ordered by number of existing email
gmail.com
yahoo.com
hotmail.com
aol.com
hotmail.co.uk
hotmail.fr
msn.com
yahoo.fr
wanadoo.fr
orange.fr
comcast.net
yahoo.co.uk
yahoo.com.br
yahoo.co.in
live.com
rediffmail.com
free.fr
gmx.de
web.de
yandex.ru
ymail.com
libero.it
outlook.com
uol.com.br
bol.com.br
mail.ru
cox.net
hotmail.it
sbcglobal.net
sfr.fr
live.fr
verizon.net
live.co.uk
googlemail.com
yahoo.es
ig.com.br
live.nl
bigpond.com
terra.com.br
yahoo.it
neuf.fr
yahoo.de
alice.it
rocketmail.com
att.net
laposte.net
facebook.com
bellsouth.net
yahoo.in
hotmail.es
charter.net
yahoo.ca
yahoo.com.au
rambler.ru
hotmail.de
tiscali.it
shaw.ca
yahoo.co.jp
sky.com
earthlink.net
optonline.net
freenet.de
t-online.de
aliceadsl.fr
virgilio.it
home.nl
qq.com
telenet.be
me.com
yahoo.com.ar
tiscali.co.uk
yahoo.com.mx
voila.fr
gmx.net
mail.com
planet.nl
tin.it
live.it
ntlworld.com
arcor.de
yahoo.co.id
frontiernet.net
hetnet.nl
live.com.au
yahoo.com.sg
zonnet.nl
club-internet.fr
juno.com
optusnet.com.au
blueyonder.co.uk
bluewin.ch
skynet.be
sympatico.ca
windstream.net
mac.com
centurytel.net
chello.nl
live.ca
aim.com
bigpond.net.au
TODO