1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
| const form = document.getElementById("form"); const username = document.getElementById("username"); const email = document.getElementById("email"); const password = document.getElementById("password"); const password2 = document.getElementById("password2");
function showError(input, message) { const formControl = input.parentElement; formControl.className = "form-control error"; const small = formControl.querySelector("small"); small.innerText = message; }
function showSuccess(input) { const formControl = input.parentElement; formControl.className = "form-control success"; }
function isValidEmail(input) { const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; if (re.test(input.value.trim())) { showSuccess(input); } else { showError(input, "Email is not valid"); } }
function checkRequired(inputArr) { inputArr.forEach(function (input) { if (input.value.trim() === "") { showError(input, `${getFieldName(input)} is required`); } else { showSuccess(input); } }); }
function checkLength(input, min, max) { if (input.value.length < min) { showError( input, `${getFieldName(input)} must be at least ${min} characters` ); } else if (input.value.length > max) { showError( input, `${getFieldName(input)} must be less than ${max} characters` ); } else { showSuccess(input); } }
function checkPasswordMatch(input1, input2) { if (input1.value !== input2.value) { showError(input2, "Passwords do not match"); } }
function getFieldName(input) { return input.id.charAt(0).toUpperCase() + input.id.slice(1); }
form.addEventListener("submit", function (e) { e.preventDefault();
checkRequired([username, email, password, password2]); checkLength(username, 3, 15); checkLength(password, 6, 25); isValidEmail(email); checkPasswordMatch(password, password2); });
|