Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>JavaScript Validation Form</title>
- <!-- CSS -->
- <style>
- </style>
- </head>
- <body>
- <!-- Header -->
- <header>
- <h1>Oder and Validation From</h1>
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Maiores, adipisci assumenda eum deleniti provident sapiente magnam enim repellat autem qui.</p>
- </header>
- <!-- Main -->
- <div id="main">
- <!-- Form - Customer Details -->
- <h2>Customer Details</h2>
- <form>
- <label for="fname">First Name*</label>
- <br>
- <input type="text" name="fname" id="fname" placeholder="John" pattern="[A-Za-z]" required>
- <br>
- <label for="lname">Last Name*</label>
- <br>
- <input type="text" name="lname" id="lname" placeholder="Smith" pattern="[A-Za-z]" required>
- <br>
- <label for="cname">Company name (optional)</label>
- <br>
- <input type="text" name="cname" id="cname" placeholder="Your company name">
- <br>
- <label for="country">Country*</label>
- <br>
- <select name="counry" id="country">
- <option value="UK">UK</option>
- <option value="Spain">Spain</option>
- </select>
- <label for="street">Street*</label>
- <br>
- <input type="text" name="street" id="street" placeholder="1st address line" required>
- <br>
- <label for="city">Town / City*</label>
- <br>
- <input type="text" name="city" id="city" placeholder="London" pattern="[A-Za-z]" required>
- <br>
- <label for="postcode">Postcode*</label>
- <br>
- <input type="text" name="postcode" id="postcode" placeholder="SE16 8PL" required>
- <br>
- <label for="phone">Phone Number</label>
- <br>
- <input type="number" name="phone" id="phone" placeholder="012345679" pattern="[0-9]{9}">
- <br>
- <label for="email">Email address*</label>
- <br>
- <input type="email" name="email" id="email" placeholder="john.smith@email.com" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$" required>
- <br>
- <label for="note">Note, optional</label>
- <br>
- <textarea name="note" id="note" rows="4" cols="50" maxlength="250" placeholder="Enter your note here. (limited to 250 characters).">
- </textarea>
- <br>
- <input type="submit" onclick="validateCustomerDetails()" value="Submit">
- <br>
- <!-- JS -->
- <script>
- function validateCustomerDetails() {
- //Find values of IDs
- var fname = document.getElementById("fname").value;
- var lname = document.getElementById("lname").value;
- var fullName = fname + " " + lname;
- var companyName = document.getElementById("cname").value;
- var street = document.getElementById("street").value;
- var city = document.getElementById("city").value;
- var postcode = document.getElementById("postcode").value;
- var country = document.getElementById("country").value;
- var address = street + " " + city + " " + postcode + " " + country;
- var phone = document.getElementById("phone").value;
- var email = document.getElementById("email").value;
- var note = document.getElementById("note").value;
- //Regexr Patterns
- var fNameCheckPattern = /^[a-zA-Z]+$/;
- var lNameCheckPattern = /^[a-zA-Z]+$/;
- var cityCheckPattern = /^[a-zA-Z]+$/;
- var phoneCheckPattern = /[0-9]{9}/;
- var emailCheckPattern = /[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$/;
- //Validation if statemnts
- if(!fNameCheckPattern.test(fname)) { document.getElementById("fname").focus(); alert("Only characters are allowed."); }
- else if (!lNameCheckPattern.test(lname)) { document.getElementById("lname").focus(); alert("Only characters are allowed."); }
- else if (!cityCheckPattern.test(city)) { document.getElementById("city").focus(); alert("Only characters are allowed."); }
- else if (!phoneCheckPattern.test(phone)) { document.getElementById("phone").focus(); alert("Only digits are allowed. Example of format: 0132465798"); }
- else if (!emailCheckPattern.test(email)) { document.getElementById("email").focus(); alert("Input correct email. Example: John.smith@email.com"); }
- else {
- printCustomerDetails();
- }
- //Output the result
- function printCustomerDetails() {
- document.getElementById("outputFullName").innerHTML = "<b>Full Name: </b>" + fullName;
- document.getElementById("outputCompanyName").innerHTML = "<b>Company Name: </b>" + companyName;
- document.getElementById("outputAddress").innerHTML = "<b>Address: </b>" + address;
- document.getElementById("outputPhone").innerHTML = "<b>Phone: </b>" + phone;
- document.getElementById("outputEmail").innerHTML = "<b>Email: </b>" + email;
- document.getElementById("outputNote").innerHTML = "<b>Note: </b>" + note;
- }
- }
- </script>
- </form>
- <!-- Form - Expedition Details -->
- <!-- Printed Forms -->
- <div id="print">
- <h2>Your display output</h2>
- <h3>Customer Details</h3>
- <p id="outputFullName">Full name:</p>
- <p id="outputCompanyName">Company name:</p>
- <p id="outputAddress">Address:</p>
- <p id="outputPhone">Phone:</p>
- <p id="outputEmail">Email:</p>
- <p id="outputNote">Note:</p>
- <h3>Expedition Details</h3>
- </div>
- </div>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement