This script checks the validity of a wide range of email types. It follows most of the rules outlined here: Email Address - Wikipedia. It was created because of performance issues with RegEx when working with emails in React.
Written by Simeon Smith.
npm i -S ssmith-is-valid-email
This function supports all modern browser including IE9+.
import isValidEmail from 'ssmith-is-valid-email';
const isValidEmail = require('ssmith-is-valid-email');
isValidEmail('test@google.com');
// Returns true or false.
The following emails were tested. It follows most of the rules outlined here: Email Address - Wikipedia.
simple@example.com
very.common@example.com
disposable.style.email.with+symbol@example.com
other.email-with-hyphen@example.com
user.name+tag+sorting@example.com
x@example.com
example-indeed@strange-example.com
example@s.example
admin@test.co
" "@example.org
Abc.example.com
@Abc.example.com
james@google
james@google.c
james richards@google.com
james" richards@google.com
james@cb$.com
A@b@c@example.com
a"b(c)d,e:f;g<h>i[j\\k]l@example.com
just"not"right@example.com
just."not"right@example.com
1234567890123456789012345678901234567890123456789012345678901234+x@example.com
john..doe@example.com
john.doe@example..com
"very.(),:;<>[]\".VERY.\"very@\\ \"very\".unusual"@strange.example.com
admin@mailserver1
This script will run 1000 times on a valid or invalid email in less than 20 milliseconds.