今天開始寫web項目,畫了一下登錄界面,借鑒了一下網上的資源。
<!DOCTYPE html>
<html lang="zh.CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>登錄系統</title><style>/* Flex布局實現垂直水平居中 */body {margin: 0;height: 100vh;display: flex;justify-content: center;align-items: center;background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);font-family: 'Arial', sans-serif;}.login-container {width: 350px;padding: 40px;background: white;border-radius: 10px;box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);animation: fadeIn 0.5s ease;}@keyframes fadeIn {from { opacity: 0; transform: translateY(-20px); }to { opacity: 1; transform: translateY(0); }}h2 {text-align: center;margin-bottom: 30px;}.input-group{margin-bottom: 20px;position: relative;}input {width: 100%;padding: 12px 15px;border: 1px solid #ddd;border-radius: 5px;font-size: 16px;transition: border 0.3s;}input:focus {border-color: #4285f4;outline: none;box-shadow: 0 0 0 2px rgba(66, 133, 244, 0.2);}label {position: absolute;left: 15px;top: 12px;color: #999;transition: all 0.3s;pointer-events: none;}input:focus + label,input:not(:placeholder-shown) + label {top: -10px;left: 10px;font-size: 12px;background: white;padding: 0 5px;color: #4285f4;}button {width: 100%;padding: 12px;background: #4285f4;color: white;border: none;border-radius: 5px;font-size: 16px;cursor: pointer;transition: background 0.3s;}button:hover {background: #3367d6;}.error-message {color: #d32f2f;font-size: 14px;margin-top: 5px;height: 20px;}</style></head><body><!-- 登錄的容器 --><div class="login-container"><h2>歡迎登錄</h2><form action="" id="loginForm"><div class="input-group"><input type="text" id="username" autocomplete="off" placeholder=" "><label for="username"> 用戶名</label><div class="error-message" id="username-error"></div></div><div class="input-group"><input type="password" id="password" placeholder=" "><label for="password"> 密碼</label><div class="error-message" id="password-error"></div></div><button typr="submit">登 錄</button></form><script>let lf = document.getElementById("loginForm");lf.addEventListener("submit", async(e)=>{//這個的意思就是在提交之前我檢查一下你的格式是否正確//相當于是正則表達式e.preventDefault();// 防止表單提交const username=document.getElementById("username").value.trim();const password=document.getElementById("password").value;if (!username){document.getElementById("username-error").textContent="請輸入用戶名";return;}if (!password){document.getElementById("password-error").textContent="請輸入密碼";return;}// 驗證是否包含特殊字符const regex = /[!@#$%^&*(),.?":{}|<>]/; // 定義特殊字符的正則表達式if(!regex.test(username)){document.getElementById("password-error").textContent='用戶名至少包含一個特殊字符';}})</script></div></body></html>
還寫了類似于一個正則表達式的東西,密碼必須帶有特殊字符,否則提示錯誤
// 驗證是否包含特殊字符
const regex = /[!@#$%^&*(),.?":{}|<>]/; // 定義特殊字符的正則表達式
if(!regex.test(username)){document.getElementById("password-error").textContent='用戶名至少包含一個特殊字符';
}
畫了一個er圖
用戶有哪些屬性
用戶:ID、用戶名、密碼、性別、生日(吧齡)、頭像、年齡、賬號狀態、個人簡介、粉絲、關注、IP地址、最后IP地址、創建時間、評論
有些沒有屬性沒有寫到,到時候慢慢添加
還學了些建表的操作語句
接下來邊學習雙token邊寫