Skip to content

julien-amblard/email-misspelled

Repository files navigation

email-misspelled

npm CircleCI Status codecov npm npm npm

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

example

Table of Contents

  1. Install
  2. Usages
  3. Options

Install

Install with npm:

    npm i email-misspelled

Install with yarn:

    yarn add email-misspelled

Usages

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"
 * }]
 **/

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")
/**
 * return :
 * [
 *   { 
 *      suggest: "random.org", 
 *      misspelledCount: 1, 
 *      corrected:"user@random.org", 
 *      original: "user@randmo.org"
 *   }
 * ]
 **/

List of domains avaibles :

More details here

examples

import { top100, hotmail, live } from "email-misspelled"  

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")
/**
 * 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 []

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")
/**
 * 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"
 * }]
 **/

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

About

Check misspell email's domain and return a list of matching domain suggestions

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages