-
Notifications
You must be signed in to change notification settings - Fork 42
/
Copy pathindex.js
68 lines (58 loc) · 1.93 KB
/
index.js
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
const form = document.getElementById("form");
form.addEventListener("focusin", (event) => {
event.target.style.background = "pink";
});
form.addEventListener("focusout", (event) => {
event.target.style.background = "";
});
$(document).ready(function () {
// 공통 오류 메시지 함수
function showErrorMessage(elementId, message) {
$("#" + elementId)
.text(message)
.css({
"color": "red",
"font-size": "12px",
"visibility": "visible"
});
}
function hideErrorMessage(elementId) {
$("#" + elementId).css("visibility", "hidden");
}
// 이메일 검증
$("#email").on("focusout", function () {
var email = $(this).val();
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/;
if (email == "" || !emailPattern.test(email)) {
$(this).addClass("error");
showErrorMessage("error-message1", "잘못된 형식의 이메일입니다.");
} else {
$(this).removeClass("error");
hideErrorMessage("error-message1");
}
});
// 비밀번호 검증
$("#password").on("focusout", function () {
var password = $(this).val();
var passwordPattern = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$/;
if (password === "" || !passwordPattern.test(password)) {
$(this).addClass("error");
showErrorMessage("error-message3", "비밀번호는 8자리 입력해주세요.");
} else {
$(this).removeClass("error");
hideErrorMessage("error-message3");
}
});
// 비밀번호 확인 검증
$("#confirm-password").on("focusout", function () {
var confirmPassword = $(this).val();
var password = $("#password").val();
if (confirmPassword === "") {
$(this).addClass("error");
showErrorMessage("error-message4", "비밀번호가 일치하지 않습니다.");
} else {
$(this).removeClass("error");
hideErrorMessage("error-message4");
}
});
});