Table of Contents
In this article, you will learn how to validate an email address using Javascript. Whenever you ask the user to enter an email address in a web form, it’s essential to validate that email and make sure it falls into the accepted email address patterns.
An invalid email address entered in a registration form or newsletter subscription will cause issues to the site owner and the user. Thus, having a client-side check before the user can proceed helps eliminate the hassle of having a wrong email id in the database.
Email Address Characteristics
An email address always starts with a username, personal information, or user ID, which is before the @ sign. The domain name of the email comes after the @
sign.
For the same of this tutorial, let’s use the email format below:
username@domain.com[adinserter block=”2″] For an email address to be valid, it must:
- has a username no longer than 64 characters
- has a domain name no longer than 253 characters
- has a username that does not start or end with a . dot
Moreover, an email can contains upper case (A-Z) and lower case (a-z) Latin letters, digits( 0-9), and character ( ! # $ % & ‘ * + – / = ? ^ _ ` { | } ~)
Example of a valid email address
- username@mysite.com
- user.name@mysite.com
- username@my.site.com
Example of an invalid email address
There are too many cases where an email address is invalid. For example:
- username..1234@mysite.com (double dots are not allowed)
- username@.mysite.com (the domain name cannot start with a dot .)
- @my.site.com ( missing username)
- .username@mysite.com (username cannot begin with “.” )
- username.mysite.com (missing the @ symbol)
Javascript email validator function
Without any delay, let’s get to the Javascript email validator function:
[adinserter block=”2″]
function ValidateEmail(email) { var validEmailRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/; if (email.value.match(validEmailRegex)) { return true; } else { alert("Invalid email address!"); return false; }
And the HTML form:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>JavaScript Email Validation</title> <style> .email{ margin: auto; padding-top: 5px; padding-bottom: 5px; padding-left: 10px; background: blue; border: 1px soild silver; } .email h2 { color: white; } input { font-size: 18pt; } input:focus { background-color: lightgray; } input validate { font-size: 12pt; } </style> </head> <body> <div class="email"> <h2>Input an email address</h2> <form name="frm"> <input type="text" name="txtEmail" id="txtEmail" /> <input type="submit" name="validate" value="Validate" onclick="ValidateEmail(txtEmail)" /> </form> </div> </body> </html>
Once you run the code, you should get a Javascript alert if the email you entered is invalid. Happy Coding!
IT specialist Veteran