Show Output
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaScript Form validation</title> <link rel="stylesheet" href="/examples/css/form-style.css"> <script> // Defining a function to display error message function printError(elemId, hintMsg) { document.getElementById(elemId).innerHTML = hintMsg; } // Defining a function to validate form function validateForm() { // Retrieving the values of form elements let name = document.contactForm.name.value; let email = document.contactForm.email.value; let mobile = document.contactForm.mobile.value; let country = document.contactForm.country.value; let gender = document.contactForm.gender.value; let hobbies = []; let checkboxes = document.getElementsByName("hobbies[]"); for(let i=0; i < checkboxes.length; i++) { if(checkboxes[i].checked) { // Populate hobbies array with selected values hobbies.push(checkboxes[i].value); } } // Defining error variables with a default value let nameErr = emailErr = mobileErr = countryErr = genderErr = true; // Validate name if(name == "") { printError("nameErr", "Please enter your name"); } else { let regex = /^[a-zA-Z\s]+$/; if(regex.test(name) === false) { printError("nameErr", "Please enter a valid name"); } else { printError("nameErr", ""); nameErr = false; } } // Validate email address if(email == "") { printError("emailErr", "Please enter your email address"); } else { // Regular expression for basic email validation let regex = /^\S+@\S+\.\S+$/; if(regex.test(email) === false) { printError("emailErr", "Please enter a valid email address"); } else{ printError("emailErr", ""); emailErr = false; } } // Validate mobile number if(mobile == "") { printError("mobileErr", "Please enter your mobile number"); } else { let regex = /^[1-9]\d{9}$/; if(regex.test(mobile) === false) { printError("mobileErr", "Please enter a valid 10 digit mobile number"); } else{ printError("mobileErr", ""); mobileErr = false; } } // Validate country if(country == "Select") { printError("countryErr", "Please select your country"); } else { printError("countryErr", ""); countryErr = false; } // Validate gender if(gender == "") { printError("genderErr", "Please select your gender"); } else { printError("genderErr", ""); genderErr = false; } // Prevent the form from being submitted if there are any errors if((nameErr || emailErr || mobileErr || countryErr || genderErr) == true) { return false; } else { // Creating a string from input data for preview let dataPreview = "You've entered the following details: \n" + "Full Name: " + name + "\n" + "Email Address: " + email + "\n" + "Mobile Number: " + mobile + "\n" + "Country: " + country + "\n" + "Gender: " + gender + "\n"; if(hobbies.length) { dataPreview += "Hobbies: " + hobbies.join(", "); } // Display input data in a dialog box before submitting the form alert(dataPreview); } }; </script> </head> <body> <form name="contactForm" onsubmit="return validateForm()" action="/examples/actions/confirmation.php" method="post"> <h2>Application Form</h2> <div class="row"> <label>Full Name</label> <input type="text" name="name"> <div class="error" id="nameErr"></div> </div> <div class="row"> <label>Email Address</label> <input type="text" name="email"> <div class="error" id="emailErr"></div> </div> <div class="row"> <label>Mobile Number</label> <input type="text" name="mobile" maxlength="10"> <div class="error" id="mobileErr"></div> </div> <div class="row"> <label>Country</label> <select name="country"> <option>Select</option> <option>Australia</option> <option>India</option> <option>United States</option> <option>United Kingdom</option> </select> <div class="error" id="countryErr"></div> </div> <div class="row"> <label>Gender</label> <div class="form-inline"> <label><input type="radio" name="gender" value="male"> Male</label> <label><input type="radio" name="gender" value="female"> Female</label> </div> <div class="error" id="genderErr"></div> </div> <div class="row"> <label>Hobbies <i>(Optional)</i></label> <div class="form-inline"> <label><input type="checkbox" name="hobbies[]" value="sports"> Sports</label> <label><input type="checkbox" name="hobbies[]" value="movies"> Movies</label> <label><input type="checkbox" name="hobbies[]" value="music"> Music</label> </div> </div> <div class="row"> <input type="submit" value="Submit"> </div> </form> </body> </html>