Web 表单用于收集用户的信息,例如姓名、电子邮件地址、位置、年龄等。
但有时用户不会输入预期的详细信息。
因此,在将表单数据发送到服务器端之前对其进行验证至关重要。
对于表单验证,客户端 JavaScript 可以帮助我们。
让我们创建 Javascript 代码来验证我们的表单。
在本例中,我们将验证姓名、密码、电子邮件、电话、主题和地址:
function ValidationForm() { let username = document.forms["RegForm"]["Name"]; let email = document.forms["RegForm"]["Email"]; let phoneNumber = document.forms["RegForm"]["Telephone"]; let select = document.forms["RegForm"]["Subject"]; let pass = document.forms["RegForm"]["Password"]; if (username.value == "") { alert("Please enter your name."); username.focus(); return false; } if (email.value == "") { alert("Please enter a valid e-mail address."); email.focus(); return false; } if (email.value.indexOf("@", 0) < 0) { alert("Please enter a valid e-mail address."); email.focus(); return false; } if (email.value.indexOf(".", 0) < 0) { alert("Please enter a valid e-mail address."); email.focus(); return false; } if (phoneNumber.value == "") { alert("Please enter your telephone number."); phoneNumber.focus(); return false; } if (pass.value == "") { alert("Please enter your password"); pass.focus(); return false; } if (select.selectedIndex < 1) { alert("Please enter your course."); select.focus(); return false; } return true; }
这是完整的代码:
<!DOCTYPE html> <html> <head> <title>文档的标题</title> <style> .onitroad { margin-left: 70px; font-weight: bold; text-align: left; font-family: sans-serif, bold, Arial, Helvetica; font-size: 14px; } .buttons { display: flex; align-items: center; width: 100%; } div input { margin-right: 10px; } form { margin: 0 auto; width: 600px; } form input { padding: 10px; } form select { background-color: #ffffff; padding: 5px; } form label { display: block; width: 100%; margin-bottom: 5px; } </style> </head> <body> <h2 style="text-align: center"> Registration Form </h2> <form name="RegForm" action="/form/submit.php" onsubmit="return ValidationForm()" method="post" class="onitroad"> <div> <label for="Name">Name:</label> <input type="text" id="Name" size="60" name="Name"> </div> <br> <div> <label for="E-mail">E-mail Address:</label> <input type="text" id="E-mail" size="60" name="Email"> </div> <br> <div> <label for="Password">Password:</label> <input type="text" id="Password" size="60" name="Password"> </div> <br> <div> <label for="Telephone">Telephone: </label> <input type="text" id="Telephone" size="60" name="Telephone"> </div> <br> <div> <label>Select Book</label> <select type="text" value="" name="Subject"> <option></option> <option>HTML</option> <option>CSS</option> <option>PHP</option> <option>JavaScript</option> </select> </div> <br> <div class="buttons"> <input type="submit" value="Send" name="Submit"> <input type="reset" value="Reset" name="Reset"> </div> </form> <script> function ValidationForm() { let username = document.forms["RegForm"]["Name"]; let email = document.forms["RegForm"]["Email"]; let phoneNumber = document.forms["RegForm"]["Telephone"]; let select = document.forms["RegForm"]["Subject"]; let pass = document.forms["RegForm"]["Password"]; if(username.value == "") { alert("Please enter your name."); username.focus(); return false; } if(email.value == "") { alert("Please enter a valid e-mail address."); email.focus(); return false; } if(email.value.indexOf("@", 0) < 0) { alert("Please enter a valid e-mail address."); email.focus(); return false; } if(email.value.indexOf(".", 0) < 0) { alert("Please enter a valid e-mail address."); email.focus(); return false; } if(phoneNumber.value == "") { alert("Please enter your telephone number."); phoneNumber.focus(); return false; } if(pass.value == "") { alert("Please enter your password"); pass.focus(); return false; } if(select.selectedIndex < 1) { alert("Please enter your course."); select.focus(); return false; } return true; } </script> </body> </html>
表单验证在提交表单之前检查用户信息的准确性。
JavaScript 提供比服务器端验证更快的客户端表单验证。
服务器端验证需要更多的时间首先在服务器上进行,这需要在验证发生之前将用户的输入提交并发送到服务器。
因此,客户端验证有助于创建更好的用户体验。
许多开发人员更喜欢 JavaScript 表单验证。
日期:2020-06-02 22:16:05 来源:oir作者:oir