|
|
const form = document.querySelector("form"),
|
|
|
emailField = form.querySelector(".email-field"),
|
|
|
emailInput = emailField.querySelector(".email"),
|
|
|
passField = form.querySelector(".create-password"),
|
|
|
passInput = passField.querySelector(".password"),
|
|
|
cPassField = form.querySelector(".confirm-password"),
|
|
|
cPassInput = cPassField.querySelector(".cPassword");
|
|
|
|
|
|
|
|
|
function checkEmail() {
|
|
|
const emaiPattern = /^[^ ]+@[^ ]+\.[a-z]{2,3}$/;
|
|
|
if (!emailInput.value.match(emaiPattern)) {
|
|
|
return emailField.classList.add("invalid");
|
|
|
}
|
|
|
emailField.classList.remove("invalid");
|
|
|
}
|
|
|
|
|
|
|
|
|
const eyeIcons = document.querySelectorAll(".show-hide");
|
|
|
|
|
|
eyeIcons.forEach((eyeIcon) => {
|
|
|
eyeIcon.addEventListener("click", () => {
|
|
|
const pInput = eyeIcon.parentElement.querySelector("input");
|
|
|
if (pInput.type === "password") {
|
|
|
eyeIcon.classList.replace("bx-hide", "bx-show");
|
|
|
return (pInput.type = "text");
|
|
|
}
|
|
|
eyeIcon.classList.replace("bx-show", "bx-hide");
|
|
|
pInput.type = "password";
|
|
|
});
|
|
|
});
|
|
|
|
|
|
|
|
|
function createPass() {
|
|
|
const passPattern = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
|
|
|
|
|
|
if (!passInput.value.match(passPattern)) {
|
|
|
return passField.classList.add("invalid");
|
|
|
}
|
|
|
passField.classList.remove("invalid");
|
|
|
}
|
|
|
|
|
|
|
|
|
function confirmPass() {
|
|
|
if (passInput.value !== cPassInput.value || cPassInput.value === "") {
|
|
|
return cPassField.classList.add("invalid");
|
|
|
}
|
|
|
cPassField.classList.remove("invalid");
|
|
|
}
|
|
|
|
|
|
|
|
|
form.addEventListener("submit", (e) => {
|
|
|
e.preventDefault();
|
|
|
checkEmail();
|
|
|
createPass();
|
|
|
confirmPass();
|
|
|
|
|
|
|
|
|
emailInput.addEventListener("keyup", checkEmail);
|
|
|
passInput.addEventListener("keyup", createPass);
|
|
|
cPassInput.addEventListener("keyup", confirmPass);
|
|
|
|
|
|
if (
|
|
|
!emailField.classList.contains("invalid") &&
|
|
|
!passField.classList.contains("invalid") &&
|
|
|
!cPassField.classList.contains("invalid")
|
|
|
) {
|
|
|
alert('Login successful!');
|
|
|
|
|
|
form.reset();
|
|
|
}
|
|
|
}); |