ssmith-is-valid-email
A Robust Tool for Validating Emails
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.
Author
Written by Simeon Smith.
Installation
npm i -S ssmith-is-valid-email
Using the Function
This function supports all modern browser including IE9+.
Importing
ES6 JS
import isValidEmail from 'ssmith-is-valid-email';
Common JS Import
const isValidEmail = require('ssmith-is-valid-email');
Calling the Function
isValidEmail('test@google.com');
// Returns true or false.
Testing
The following emails were tested. It follows most of the rules outlined here: Email Address - Wikipedia.
Valid Emails
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
Invalid Emails
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
Not Yet Supported
Should Be Valid
"very.(),:;<>[]\".VERY.\"very@\\ \"very\".unusual"@strange.example.com
Not Useful to Support
admin@mailserver1
Performance
This script will run 1000 times on a valid or invalid email in less than 20 milliseconds.