Untitled
unknown
plain_text
5 months ago
5.2 kB
3
Indexable
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Registration Form</title> <style> /* CSS */ body { font-family: Arial, sans-serif; display: flex; align-items: center; justify-content: center; height: 100vh; margin: 0; background-color: #f0f2f5; } form { background-color: #fff; padding: 20px 40px; border-radius: 8px; box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); width: 100%; max-width: 400px; } label { display: block; margin-bottom: 8px; font-weight: bold; color: #333; } input[type="text"], input[type="password"], input[type="date"], input[type="file"] { width: 100%; padding: 10px; margin-bottom: 15px; border: 1px solid #ddd; border-radius: 4px; box-sizing: border-box; font-size: 14px; } button[type="submit"] { width: 100%; padding: 10px; background-color: #4CAF50; color: white; font-size: 16px; font-weight: bold; border: none; border-radius: 4px; cursor: pointer; transition: background-color 0.3s ease; } button[type="submit"]:hover { background-color: #45a049; } input:invalid { border-color: #e74c3c; } input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="file"]:focus { border-color: #4CAF50; box-shadow: 0px 0px 5px rgba(76, 175, 80, 0.5); outline: none; } </style> </head> <body> <form id="registrationForm" onsubmit="return validateForm()"> <label for="fullName">Họ và tên:</label> <input type="text" id="fullName" name="fullName" required> <label for="password">Mật khẩu:</label> <input type="password" id="password" name="password" required> <label for="confirmPassword">Xác nhận mật khẩu:</label> <input type="password" id="confirmPassword" name="confirmPassword" required> <label for="birthDate">Ngày tháng năm sinh:</label> <input type="date" id="birthDate" name="birthDate" required> <label for="phoneNumber">Số điện thoại:</label> <input type="text" id="phoneNumber" name="phoneNumber" required> <label for="imagePath">Đường dẫn ảnh:</label> <input type="file" id="imagePath" name="imagePath" accept="image/*"> <button type="submit">Đăng ký</button> </form> <script> // JavaScript function validateForm() { const fullName = document.getElementById("fullName").value; const password = document.getElementById("password").value; const confirmPassword = document.getElementById("confirmPassword").value; const phoneNumber = document.getElementById("phoneNumber").value; const imagePath = document.getElementById("imagePath").value; // 1. Họ và tên không được dùng chữ số if (/\d/.test(fullName)) { alert("Họ và tên không được chứa chữ số."); return false; } // 2. Mật khẩu phải có ít nhất 1 chữ hoa, 1 chữ thường, 1 ký tự đặc biệt và ít nhất 8 ký tự const passwordPattern = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\W).{8,}$/; if (!passwordPattern.test(password)) { alert("Mật khẩu phải có ít nhất 1 chữ hoa, 1 chữ thường, 1 ký tự đặc biệt và ít nhất 8 ký tự."); return false; } // 3. Khẳng định mật khẩu và mật khẩu phải trùng nhau if (password !== confirmPassword) { alert("Mật khẩu và xác nhận mật khẩu phải trùng nhau."); return false; } // 5. Số điện thoại không được dùng ký tự và ký tự đặc biệt ngoại trừ dấu () const phonePattern = /^[\d()]+$/; if (!phonePattern.test(phoneNumber)) { alert("Số điện thoại không được chứa ký tự hoặc ký tự đặc biệt ngoại trừ dấu ()."); return false; } // 6. Hiển thị tên file ảnh nếu có if (imagePath) { const fileName = imagePath.split("\\").pop(); alert("Tên file ảnh: " + fileName); } return true; // Dữ liệu hợp lệ } </script> </body> </html>
Editor is loading...
Leave a Comment