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
Install with npm:
npm i email-misspelled
Install with yarn:
yarn add email-misspelled
import emailMisspelled, { top100 } from "email-misspelled"
const emailChecker = emailMisspelled({ domains: top100 })
emailChecker("user@otmail.com")
/**
* [{
* suggest: "hotmail.com",
* misspelledCount: 1,
* corrected:"user@hotmail.com",
* original: "user@otmail.com"
* }]
**/
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")
/**
* return :
* [
* {
* suggest: "random.org",
* misspelledCount: 1,
* corrected:"user@random.org",
* original: "user@randmo.org"
* }
* ]
**/
List of domains avaibles :
- Top 100 domains list
- Hotmail
- Live
- Outlook
- Microsoft (a combination of hotmail, live and outlook emails)
- Yahoo
- Aol
- Others domains
- All (all previous domains in one list)
examples
import { top100, hotmail, live } from "email-misspelled"
Feel free to contribute
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")
/**
* return :
* [{
* suggest: "hotmail.com",
* misspelledCount: 1,
* corrected:"user@hotmail.com",
* original: "user@hotmial.com"
* }]
**/
emailChecker1("user@hotmia.com") // []
const emailChecker2 = emailMisspelled({ maxMisspelled: 3, domains: top100 })
emailChecker2("user@hotmial.com")
/**
* return :
* [{
* suggest: "hotmail.com",
* misspelledCount: 2,
* corrected:"user@hotmail.com",
* original: "user@hotmial.com"
* }]
**/
emailChecker2("user@hotmia.com")
/**
* return :
* [{
* suggest: "hotmail.com",
* misspelledCount: 3,
* corrected:"user@hotmail.com",
* original: "user@hotmia.com"
* }]
**/
emailChecker2("user@otmia.com") //4 misspelled, return []
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")
/**
* return :
* [{
* suggest: "hotmail.com",
* misspelledCount: 1,
* corrected:"user@hotmail.com",
* original: "user@otmail.com"
* }]
**/
emailChecker1("user@tmail.com") // []
const emailChecker2 = emailMisspelled({ lengthDiffMax: 2, domains: top100 })
emailChecker2("user@otmail.com")
/**
* return :
* [{
* suggest: "hotmail.com",
* misspelledCount: 1,
* corrected:"user@hotmail.com",
* original: "user@otmail.com"
* }]
**/
emailChecker2("user@tmail.com")
/**
* return :
* [{
* suggest: "gmail.com",
* misspelledCount: 1,
* corrected:"user@gmail.com",
* original: "user@tmail.com"
* },
* {
* suggest: "hotmail.com",
* misspelledCount: 2,
* corrected:"user@hotmail.com",
* original: "user@tmail.com"
* }]
**/
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