| Cỡ chữ:   
<!DOCTYPE html> <html> <head> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/flatpickr"></script> <script src="https://cdn.jsdelivr.net/npm/flatpickr/dist/l10n/vn.js"></script> <link rel="stylesheet" href="style.css"> </head> <body> <div class="container mt-5"> <div class="card shadow-lg rounded-4"> <div class="card-header bg-primary text-white"> <h4 class="mb-0">Form nhập thông tin học viên</h4> </div> <div class="card-body"> <form> <div class="row"> <div class="col-md-6 mb-3"> <label class="form-label">Họ và tên</label> <input type="text" class="form-control" placeholder="Nhập họ tên"> </div> <div class="col-md-6 mb-3"> <label class="form-label">Ngày sinh</label> <input type="text" id="ngaySinh" class="form-control w-auto" placeholder="ngày/tháng/năm"> </div> </div> <div class="row"> <div class="col-md-6 mb-3"> <label class="form-label">Email</label> <input type="email" class="form-control" placeholder="example@email.com"> </div> <div class="col-md-6 mb-3"> <label class="form-label">Số điện thoại</label> <input type="text" class="form-control" placeholder="09xxxxxxxx"> </div> </div> <div class="mb-3"> <label class="form-label">Ghi chú</label> <textarea class="form-control" rows="3"></textarea> </div> <button type="submit" class="btn btn-primary">Lưu thông tin</button> </form> </div> </div> </div> <script src="script.js"></script> </body> </html>
flatpickr("#ngaySinh", { dateFormat: "d/m/Y", locale: "vn", allowInput: true }); function isValidDateVN(dateStr) { const regex = /^(\d{2})\/(\d{2})\/(\d{4})$/; const match = dateStr.match(regex); if (!match) return false; const day = parseInt(match[1], 10); const month = parseInt(match[2], 10); const year = parseInt(match[3], 10); const date = new Date(year, month - 1, day); return ( date.getFullYear() === year && date.getMonth() === month - 1 && date.getDate() === day ); } function formatDateToMySQL(dateStr) { const parts = dateStr.split("/"); if (parts.length !== 3) return null; const day = parts[0].padStart(2, '0'); const month = parts[1].padStart(2, '0'); const year = parts[2]; return `${year}-${month}-${day}`; } document.querySelector("form").addEventListener("submit", function(e) { e.preventDefault(); const input = document.getElementById("ngaySinh"); const ngaySinh = document.getElementById("ngaySinh").value; if (!ngaySinh) { alert("Vui lòng chọn ngày sinh!"); return; } if (!isValidDateVN(ngaySinh)) { alert("Ngày sinh không đúng định dạng dd/mm/yyyy!"); return; } const ngaySinhMySQL = formatDateToMySQL(ngaySinh); input.value = ngaySinhMySQL; alert("Ngày sinh lưu cơ sở dữ liệu: " + input.value); });