How to validate an email with Javascript
📣 Sponsor
Email validation is something that comes up again and again. Email validation is not tricky, presuming you have the right Regular Expression. Unfortunately, there are many ways to do RegEx on an email, and much of what you find on Google often eliminates valid emails, or even worse, doesn't work at all.
There is a standard Regular Expression known as RFC822, which is massive. I wouldn't recommend using that. Instead, you can use RFC5322, its successor, which is much shorter and easier to use. The function below will validate any email put into it:
const validateEmail = function(email) {
const regex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
return regex.test(email);
}
// Returns true
validateEmail('someMail@gmail.com');
Note: this is pretty full proof, but the best way to figure out if an email is valid is to send an email to it, and see what happens. This RegEx will ensure your emails are in the right format.
More Tips and Tricks for Javascript
- Using an Array as Function Parameter in JavaScript
- Resolving HTTP Cannot set headers after they are sent to the client in Node.JS
- The Many Quirks of Javascript Dates
- How to Stop Using jQuery
- Javascript Map, and How it is Different from forEach
- Javascript Operators and Expressions
- An Introduction to Javascript Objects
- Javascript toLowerCase() - Convert Strings to Lowercase
- How to use Environmental Variables in NodeJS
- Demystifying how 'this' works in Javascript