기타/기타 잡다한 것들

[자바스크립트] 회원가입 유효성 검사 2

제주도소년 2018. 9. 15. 23:52

앞서 포스팅했던 유효성 검사와는 좀 다르게 코딩하였습니다.


이전 포스팅 : http://seogwipo.tistory.com/157?category=810046


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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
//유효성 검사를 하면서
//결과값을 저장할 변수 입니다.
var chkId;
var pwdChk;
var pwd2Chk;
var chkName;
var chkBirth;
var chkPhone;
//유효성 검사를 위한 함수입니다.
//각각의 함수는 밑에 정의되어 있습니다.
//절차적으로 진행하며 만약 return 이 발생하면
//해당 하는 값을 공백으로만들고 포커스를 위치시킵니다.
//유효성을 모두 통과하면 
//document.getElementById('frm').submit();
//를 실행하여 form name 이 "frm" 인것을 submit 시킵니다.
function checkForm() {
    if (checkId() != "Y") {
        alert('아이디는 4~12자의 영문 소문자와 숫자로 입력하세요.');
        frm.userId.value = "";
        frm.userId.focus();
        return;
    }
    if (checkPw() != "Y") {
        alert("비밀번호는 4~12자의 영문 대소문자와 숫자로만 입력하세요.");
        frm.userPassword.value = "";
        frm.userPassword.focus();
        return;
    }
    if (checkPwEquals() != "Y") {
        alert("비밀번호가 서로 맞지 않습니다.");
        frm.userPasswordd.value = "";
        frm.userPasswordd.focus();
        return;
    }
    if (checkNames() != "Y") {
        alert("이름은 2글자 이상 이어야합니다.");
        frm.userName.focus();
        return;
    }
    if (checkBirth() != "Y") {
        alert("생년월일은 8글자로 입력해 주세요.\n ex) 19921207");
        frm.userBirth.focus();
        return;
    }
    if (checkPhone() != "Y") {
        alert("휴대폰 번호를 올바르게 입력하세요.");
        frm.userPhoneNumber.focus();
        return;
    }
    document.getElementById('frm').submit();
}
// 휴대폰 번호 확인
function checkPhone() {
    chkPhone = "N";
    var regPhone = /^01([0|1|6|7|8|9]?)-?([0-9]{3,4})-?([0-9]{4})$/;
    if (!regPhone.test(frm.userPhoneNumber.value)) {
        return chkPhone;
    }
    if (frm.userPhoneNumber.value != "") {
        chkPhone = "Y";
        return chkPhone;
    }
}
// 생일확인
function checkBirth() {
    chkBirth = "N";
    var regExpBirth = /([0-9\.]+){8,}/;
    if (!regExpBirth.test(frm.userBirth.value)) {
        return chkBirth;
    }
    if (frm.userBirth.value != "") {
        chkBirth = "Y";
        return chkBirth;
    }
}
// 비밀번호 맞는지 확인
function checkPwEquals() {
    pwd2Chk = "N";
    if ((frm.userPassword.value) != (frm.userPasswordd.value)) {
        return pwd2Chk;
    }
 
    if (frm.userPasswordd.value == "") {
        return pwd2Chk;
    }
 
    pwd2Chk = "Y";
    return pwd2Chk;
}
// 이름 맞는지 확인
function checkNames() {
    chkName = "N"
    var checkNames = /^[가-힣]{2,5}$/;
    if (!checkNames.test(frm.userName.value)) {
        return chkName;
    }
    if (frm.userName.value == "") {
        return chkName;
    }
    chkName = "Y";
    return chkName;
}
// 비밀번호 확인
function checkPw() {
    pwdChk = "N";
    var regExpPassword = /^(?=.*[a-zA-Z])(?=.*[0-9]).{4,12}$/;
    if (!regExpPassword.test(frm.userPassword.value)) {
        return pwdChk;
    }
    if (frm.userPassword.value != "") {
        pwdChk = "Y";
        return pwdChk;
    }
}
// 아이디 맞는지 확인
function checkId() {
    chkId = "N";
    var regExpId = /^[a-z0-9]{4,12}$/;
    if (!regExpId.test(frm.userId.value)) {
        return chkId;
    }
    if (frm.userId.value != "") {
        chkId = "Y";
        return chkId;
    }
}
cs

간단한 소스라서 따로 설명은 안하고 궁금하신분은 코멘트 달면 답변해드릴게요.