現在我要寫一個前端界面,from表單,讓用戶登錄使用的,提交表單之前先分析用戶名和密碼是否填的完成,并且檢查密碼必須滿足 包含大小寫,數字,密碼長度必須在8到20之間,不滿足不可以提交。用戶名必須是全部英文或數字組成,不可以是漢字,如果不滿足,也不可以提交,并給出合理提示,提交時用戶名對應的name是 name 密碼對應的name是password
你可以使用JavaScript來實現前端表單的驗證邏輯。以下是一個示例代碼, 用于檢查用戶名和密碼是否符合要求,并阻止表單提交:<form id="loginForm" onsubmit="return validateForm()"><label for="name">用戶名:</label><input type="text" id="name" name="name" required><br><br><label for="password">密碼:</label><input type="password" id="password" name="password" required><br><br><input type="submit" value="登錄"> </form><script> function validateForm() {var name = document.getElementById("name").value;var password = document.getElementById("password").value;// 驗證用戶名if (!/^[a-zA-Z0-9]+$/.test(name)) {alert("用戶名必須由全部英文或數字組成");return false;}// 驗證密碼if (!/(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,20}/.test(password)) {alert("密碼必須包含大小寫字母和數字,且長度在8到20之間");return false;}// 表單驗證通過,可以提交return true; } </script>
在上面的代碼中,我們首先為表單添加了一個id屬性,方便JavaScript中獲取表單元素。然后,在表單的onsubmit事件中調用validateForm()函數進行驗證。
在validateForm()函數中,我們首先獲取用戶名和密碼的值。然后使用正則表達式對用戶名和密碼進行驗證。如果不滿足要求,就彈出一個提示框并返回false,阻止表單的提交。如果用戶名和密碼都符合要求,返回true,允許表單提交。
注意:這只是一個前端的簡單驗證邏輯,為了保證安全性,后端服務器也應該對用戶名和密碼進行驗證。前端驗證只是為了提升用戶體驗和減輕服務器壓力。
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%String name=request.getParameter("name");String password=request.getParameter("password");if(name==null||password==null){}else{out.println(name+"<br>");out.println(password+"<br>");return;}%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><form id="loginForm" method="post" action="index.jsp" onsubmit="return validateForm()"><label for="name">用戶名:</label><input type="text" id="name" name="name" required><br><br><label for="password">密碼:</label><input type="password" id="password" name="password" required><br><br><input type="submit" value="登錄">
</form><script>
function validateForm() {var name = document.getElementById("name").value;var password = document.getElementById("password").value;// 驗證用戶名if (!/^[a-zA-Z0-9]+$/.test(name)) {alert("用戶名必須由全部英文或數字組成");return false;}// 驗證密碼if (!/(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,20}/.test(password)) {alert("密碼必須包含大小寫字母和數字,且長度在8到20之間");return false;}// 表單驗證通過,可以提交return true;
}
</script></body>
</html>