join.js
3.33 KB
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
$(function(){
/*이메일 중복 or 탈퇴 확인*/
/*이메일 형식 확인 */
$("#email").keyup(function(){
if (validateEmail($.trim($("#email").val()))){
$("#email_msg").text("사용 가능한 이메일 입니다.")
.attr("style", "color: green; font-size:15px")
} else {
$("#email_msg").text("이메일 형식이 틀렸습니다.")
.attr("style", "color: red; font-size:15px;");
}
});
/*id 형식 확인 */
$("#id").keyup(function(){
if(validateId($.trim($("#id").val()))){
$("#id_msg").text("사용 가능한 아이디입니다.")
.attr("style", "color: green; font-size:15px");
} else{
$("#id_msg").text("5자리 이상 입력")
.attr("style", "color: red; font-size:15px");
}
});
/* 비밀번호 형식 확인 */
// 비밀번호 규칙 정규식
// : 숫자, 특문 각 1회 이상, 영문은 2개 이상 사용하여 8자리 이상 입력
$("#pw").keyup(function(){
if(validatePassword($.trim($("#pw").val()))){
$("#pw_msg").text("사용 가능한 비밀번호입니다.")
.attr("style", "color: green; font-size:15px");
} else{
$("#pw_msg").text("숫자, 특수문자 각 1회 이상, 영문은 2개 이상 사용하여 8자리 이상 입력")
.attr("style", "color: red; font-size:15px");
}
});
/*비밀번호 재확인*/
$("#pw_check, #pw").keyup(function(){
if($("#pw").val()==$('#pw_check').val()){
$("#pw_check_msg").text("비밀번호가 일치합니다.")
.attr("style", "color: green; font-size:15px");
} else{
$("#pw_check_msg").text("비밀번호가 일치하지 않습니다.")
.attr("style", "color: red; font-size:15px");
}
});
/*Ajax */
var $form = $("#join_f");
$form.on("submit", function(e){
e.preventDefault();
var newUser = $form.serialize();
$.ajax({
type:"POST",
url: "js/user.json",
data:newUser,
success:function(res){
if (validateEmail($.trim($("#email").val()))){
$(".input_row #email")
.attr("style", "border: 1px solid green;")
} else {
$(".input_row #email")
.attr("style", "border: 1px solid red;")
.focus();
}
},
error:function(){
if (validateEmail($.trim($("#email").val()))){
$(".input_row #email")
.attr("style", "border: 1px solid green;")
} else {
$(".input_row #email")
.attr("style", "border: 1px solid red;")
.focus();
}
}
});
});
/* 정규표현식을 이용하여 email형식에 맞는지 확인하는 함수*/
function validateEmail(email) {
var re = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i;
return re.test(email);
}
/* 정규표현식을 이용하여 id형식에 맞는지 확인하는 함수*/
function validateId(id) {
var re = /[a-zA-Z0-9]{5,}/i;
return re.test(id);
}
/* 정규표현식을 이용하여 password형식에 맞는지 확인하는 함수*/
// : 숫자, 특문 각 1회 이상, 영문은 2개 이상 사용하여 8자리 이상 입력
function validatePassword(pw) {
var re = /(?=.*\d{1,50})(?=.*[~`!@#$%\^&*()-+=]{1,50})(?=.*[a-zA-Z]{2,50}).{8,50}$/;
return re.test(pw);
}
});