In this tutorial, I provide the standard & simple javascript form validation code with an example. It will help you to validate a signup or login form from the friend-end. Even It begins to start validating and display an error message while you enter the values into the input fields.
Here, you learn to validate a registration form that has the First Name, Last Name, Email Address, Mobile Number, Password & Confirm Password. After learning it, You can easily create a client-side form validation in javascript.

Javascript Form Validation Before Submit
Now, Let’s understand the following Input validation one by one. The validation code of each input field is written within a custom function. So that you can easily use it to validate the form before or after submission.
Learn Also –
Create Registration Form Using PHP
Admin Panel in PHP with Source Code
First Name Validation
You have to validate the First Name Input using the following Validation rule –
- A First Name must not be empty.
- The First Name must be the only letter that may be in uppercase or lowercase
- The First Name must not have white spaces
First Name Input Code-
<input type="text" id="firstName" placeholder="First Name"> <div id="first-name-err"></div>
First Name Validation Code –
// First Name Validation
var firstName= document.getElementById("firstName");
var firstNameValidation=function(){
firstNameValue=firstName.value.trim();
validFirstName=/^[A-Za-z]+$/;
firstNameErr=document.getElementById('first-name-err');
if(firstNameValue=="")
{
firstNameErr.innerHTML="First Name is required";
}else if(!validFirstName.test(firstNameValue)){
firstNameErr.innerHTML="First Name must be only string without white spaces";
}else{
firstNameErr.innerHTML="";
return true;
}
}
firstName.oninput=function(){
firstNameValidation();
}Last Name Validation
You have to validate the Last Name Input using the following Validation rule –
- The Last Name must not be empty.
- Last Name must be the only letters that may be in uppercase or lowercase
- The LastName must not have white spaces
Last Name Input –
<input type="text" id="lastName" placeholder="Last Name Name"> <div id="last-name-err"></div>
Last Name Validation Code –
// Last Name Validation
var lastName= document.getElementById("lastName");
var lastNameValidation= function(){
lastNameValue=lastName.value.trim();
validLastName=/^[A-Za-z]+$/;
lastNameErr=document.getElementById('last-name-err');
if(lastNameValue=="")
{
lastNameErr.innerHTML="Last Name is required";
}else if(!validLastName.test(lastNameValue)){
lastNameErr.innerHTML="Last Name must be only string without white spaces";
}else{
lastNameErr.innerHTML="";
return true;
}
}
lastName.oninput=function(){
lastNameValidation();
}Email Address Validation
You have to validate the Email Address Input using the following Validation rule –
- The Email Input must not be empty.
- Email Address must be valid & contained @ symbol
- An Email Address must not have white spaces
Email Address Input –
<input type="email" id="emailAddress" placeholder="Email Address"> <div id="email-err"></div>
Email Address Validation Code –
// Email Address Validation
var emailAddress= document.getElementById("emailAddress");;
var emailAddressValidation= function(){
emailAddressValue=emailAddress.value.trim();
validEmailAddress=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
emailAddressErr=document.getElementById('email-err');
if(emailAddressValue=="")
{
emailAddressErr.innerHTML="Email Address is required";
}else if(!validEmailAddress.test(emailAddressValue)){
emailAddressErr.innerHTML="Email Addre must be in valid formate with @ symbol";
}else{
emailAddressErr.innerHTML="";
return true;
}
}
emailAddress.oninput=function(){
emailAddressValidation();
}Mobile Number Validation
You have to validate the Mobile Number Input using the following Validation rule –
- The Mobile Number Input must not be empty.
- Mobile Number must contain the only number of 10 digits
- A Mobile Number must not have white spaces
Mobile Number Input –
<input type="text" id="mobileNumber" placeholder="Mobile Nubmer"> <div id="mobile-number-err"></div>
Mobile Number Validation Code –
// Mobile Number Validation
var mobileNumber= document.getElementById("mobileNumber");
var mobileNumberValidation = function(){
mobileNumberValue=mobileNumber.value.trim();
validMobileNumber=/^[0-9]*$/;
mobileNumberErr=document.getElementById('mobile-number-err');
if(mobileNumberValue=="")
{
mobileNumberErr.innerHTML="Mobile Number is required";
}else if(!validMobileNumber.test(mobileNumberValue)){
mobileNumberErr.innerHTML="Mobile Number must be a number";
}else if(mobileNumberValue.length!=10){
mobileNumberErr.innerHTML="Mobile Number must have 10 digits";
}
else{
mobileNumberErr.innerHTML="";
return true;
}
}
mobileNumber.oninput=function(){
mobileNumberValidation();
}Password Validation
You have to validate the Password Input using the following Validation rule –
- The Password Input must not be empty.
- Password must contain at least one uppercase, lowercase letter, digit, special character & 8 characters long
- A Password must not have white spaces
Password Input –
<input type="password" id="password" placeholder="Password"> <div id="password-err"></div>
Password Validation Code –
// Password Validation
var password= document.getElementById("password");;
var passwordValidation = function(){
passwordValue=password.value.trim();
validPassword=/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
passwordErr=document.getElementById('password-err');
if(passwordValue=="")
{
passwordErr.innerHTML="Password is required";
}else if(!validPassword.test(passwordValue)){
passwordErr.innerHTML="Password must have at least one Uppercase, lowercase, digit, special characters & 8 characters";
}
else{
passwordErr.innerHTML="";
return true;
}
}
password.oninput=function(){
passwordValidation();
confirmPasswordValidation();
}Confirm Password Validation
You have to validate the Confirm Password Input using the following Validation rule –
- The Confirm Password Input must not be empty.
- The Confirm Password must match with Password
Confirm Password Input –
<input type="password" id="confirmPassword" placeholder="Confirm Password"> <div id="confirm-password-err"></div>
Confirm Password Validation Code –
// Confirm Password Validation
var confirmPassword= document.getElementById("confirmPassword");;
var confirmPasswordValidation=function(){
confirmPasswordValue=confirmPassword.value.trim();
confirmPasswordErr=document.getElementById('confirm-password-err');
if(confirmPasswordValue==""){
confirmPasswordErr.innerHTML="Confirm Password is required";
}
else if(confirmPasswordValue!=password.value){
confirmPasswordErr.innerHTML="Confirm Password does not match";
}
else{
confirmPasswordErr.innerHTML="";
return true;
}
}
confirmPassword.oninput=function(){
confirmPasswordValidation();
}
Javascript Form Input on Submit
If you want to validate your form on submit then you can use the following line of javascript code.
document.getElementById("registrationForm").onsubmit=function(e){
firstNameValidation();
lastNameValidation();
emailAddressValidation();
mobileNumberValidation();
passwordValidation();
confirmPasswordValidation();
if(firstNameValidation()==true &&
lastNameValidation()==true &&
emailAddressValidation() == true &&
mobileNumberValidation()==true &&
passwordValidation()==true &&
confirmPasswordValidation()==true){
return true;
}else{
return false;
}
}How to Validate a Form with JavaScript
To validate a form with javascript, you will have to configure the following two simple steps –
1. Create an HTML Form
You will learn to validate form based on id of its input fields. So, I have created an HTML form with the following input fields that have its own type & id attribute.
| Input Field | Type Attribute | Id Attribute |
| First Name | type=”text” | id=”firstName” |
| Last Name | type=”text” | id=”lastName” |
| Email Address | type=”email” | id=”emailAddress” |
| Mobile Number | type=”text” | id=”mobileNumber” |
| Password | type=”password” | id=”password” |
| Confirm Password | type=”password” | id=”confirmPassword” |
HTML Form Code
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="html-form">
<h3>How to Validate Form Using JavaScript</h3>
<form method="post" id="registrationForm">
<div class="flex-container">
<div>
<input type="text" id="firstName" placeholder="First Name">
<div id="first-name-err"></div>
</div>
<div>
<input type="text" id="lastName" placeholder="Last Name Name">
<div id="last-name-err"></div>
</div>
</div>
<div class="flex-container">
<div>
<input type="email" id="emailAddress" placeholder="Email Address">
<div id="email-err"></div>
</div>
<div>
<input type="text" id="mobileNumber" placeholder="Mobile Nubmer">
<div id="mobile-number-err"></div>
</div>
</div>
<div class="flex-container">
<div>
<input type="password" id="password" placeholder="Password">
<div id="password-err"></div>
</div>
<div>
<input type="password" id="confirmPassword" placeholder="Confirm Password">
<div id="confirm-password-err"></div>
</div>
</div>
<input type="submit">
</form>
</div>
</body>
</html>
2. Validate HTML Form with Javascript
Javascript Form Validation Code –
Use the following javascript code just above the </body> tag. Otherwise, you can use it in the external js file.
<script type="text/javascript">
// First Name Validation
var firstName= document.getElementById("firstName");
var firstNameValidation=function(){
firstNameValue=firstName.value.trim();
validFirstName=/^[A-Za-z]+$/;
firstNameErr=document.getElementById('first-name-err');
if(firstNameValue=="")
{
firstNameErr.innerHTML="First Name is required";
}else if(!validFirstName.test(firstNameValue)){
firstNameErr.innerHTML="First Name must be only string without white spaces";
}else{
firstNameErr.innerHTML="";
return true;
}
}
firstName.oninput=function(){
firstNameValidation();
}
// Last Name Validation
var lastName= document.getElementById("lastName");
var lastNameValidation= function(){
lastNameValue=lastName.value.trim();
validLastName=/^[A-Za-z]+$/;
lastNameErr=document.getElementById('last-name-err');
if(lastNameValue=="")
{
lastNameErr.innerHTML="Last Name is required";
}else if(!validLastName.test(lastNameValue)){
lastNameErr.innerHTML="Last Name must be only string without white spaces";
}else{
lastNameErr.innerHTML="";
return true;
}
}
lastName.oninput=function(){
lastNameValidation();
}
// Email Address Validation
var emailAddress= document.getElementById("emailAddress");;
var emailAddressValidation= function(){
emailAddressValue=emailAddress.value.trim();
validEmailAddress=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
emailAddressErr=document.getElementById('email-err');
if(emailAddressValue=="")
{
emailAddressErr.innerHTML="Email Address is required";
}else if(!validEmailAddress.test(emailAddressValue)){
emailAddressErr.innerHTML="Email Addre must be in valid formate with @ symbol";
}else{
emailAddressErr.innerHTML="";
return true;
}
}
emailAddress.oninput=function(){
emailAddressValidation();
}
// Mobile Number Validation
var mobileNumber= document.getElementById("mobileNumber");
var mobileNumberValidation = function(){
mobileNumberValue=mobileNumber.value.trim();
validMobileNumber=/^[0-9]*$/;
mobileNumberErr=document.getElementById('mobile-number-err');
if(mobileNumberValue=="")
{
mobileNumberErr.innerHTML="Mobile Number is required";
}else if(!validMobileNumber.test(mobileNumberValue)){
mobileNumberErr.innerHTML="Mobile Number must be a number";
}else if(mobileNumberValue.length!=10){
mobileNumberErr.innerHTML="Mobile Number must have 10 digits";
}
else{
mobileNumberErr.innerHTML="";
return true;
}
}
mobileNumber.oninput=function(){
mobileNumberValidation();
}
// Password Validation
var password= document.getElementById("password");;
var passwordValidation = function(){
passwordValue=password.value.trim();
validPassword=/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
passwordErr=document.getElementById('password-err');
if(passwordValue=="")
{
passwordErr.innerHTML="Password is required";
}else if(!validPassword.test(passwordValue)){
passwordErr.innerHTML="Password must have at least one Uppercase, lowercase, digit, special characters & 8 characters";
}
else{
passwordErr.innerHTML="";
return true;
}
}
password.oninput=function(){
passwordValidation();
confirmPasswordValidation();
}
// Confirm Password Validation
var confirmPassword= document.getElementById("confirmPassword");;
var confirmPasswordValidation=function(){
confirmPasswordValue=confirmPassword.value.trim();
confirmPasswordErr=document.getElementById('confirm-password-err');
if(confirmPasswordValue==""){
confirmPasswordErr.innerHTML="Confirm Password is required";
}
else if(confirmPasswordValue!=password.value){
confirmPasswordErr.innerHTML="Confirm Password does not match";
}
else{
confirmPasswordErr.innerHTML="";
return true;
}
}
confirmPassword.oninput=function(){
confirmPasswordValidation();
}
// validation on submit
document.getElementById("registrationForm").onsubmit=function(e){
firstNameValidation();
lastNameValidation();
emailAddressValidation();
mobileNumberValidation();
passwordValidation();
confirmPasswordValidation();
if(firstNameValidation()==true &&
lastNameValidation()==true &&
emailAddressValidation() == true &&
mobileNumberValidation()==true &&
passwordValidation()==true &&
confirmPasswordValidation()==true){
return true;
}else{
return false;
}
}
</script>
You can use within the head section the following CSS code to design the HTML form
<style>
.flex-container {
display: flex;}
.flex-container > div {
width:46%;
margin: 0px 10px;}
.html-form{
width: 46%;
background: #ffffff;
padding: 10px;
border: 1px solid #015ba9;}
input[type="submit"]{
border: none;
background: #015ba9;
color: white;
padding: 5px 35px;
font-size: 20px;
position: relative;
left: 11px;}
input[type="text"], input[type="email"], input[type="password"] {
width: 100%;
height: 20px;
background: white;
border: 1px solid lightgray;
margin: 5px 0px;
padding: 5px;}
.html-form h3{
text-align: center;
font-size: 25px;
margin: 0px;
margin-bottom: 5px;
color: #015ba9;
border-bottom: 1px solid;
margin-bottom: 15px}
#first-name-err, #last-name-err, #email-err, #mobile-number-err, #password-err, #confirm-password-err{
color:red;
font-size:13px;
}
</style>