📝 유효성 검사 - 로그인
💡 VS Code
🔎 index.jsp
.
.
.
<label>
<input type="checkbox" name="saveId" ${chk} id="saveId">아이디 저장
</label>
.
.
.
<jsp:include page="/WEB-INF/views/common/footer.jsp"/>
<script src="${contextPath}/resources/js/main.js"></script>
.
.
.
🔎 main.js
console.log("main.js loaded.");
function loginValidate(){
const inputEmail = document.getElementsByName("inputEmail")[0];
console.log(inputEmail);
const inputPw = document.getElementsByName("inputPw")[0];
if(inputEmail.value.trim().length == 0){
alert("이메일을 입력해 주세요.");
inputEmail.value = "";
inputEmail.focus();
return false;
}
if(inputPw.value.trim() == ""){
alert("비밀번호를 입력해 주세요.");
inputPw.value = "";
inputPw.focus();
return false;
}
return true;
}
document.getElementById("saveId").addEventListener("change", function(){
console.log(this.checked)
if(this.checked){
const str = "개인 정보 보호를 위해 개인 PC에서의 사용을 권장합니다. 개인 PC가 아닌 경우 취소를 눌러 주세요.";
if(!confirm(str)){
this.checked = false;
}
}
})
📝 유효성 검사 - 회원 정보 수정
💡 VS Code
🔎 MyPage-info.jsp
.
.
.
<form action="info" method="POST" name="myPage-form" onsubmit="return infoValidate()">
<div class="myPage-row">
<label>닉네임</label>
<input type="text" name="memberNickname" id="memberNickname" value="${loginMember.memberNickname}" maxlength="10">
</div>
<div class="myPage-row">
<label>전화번호</label>
<input type="text" name="memberTel" id="memberTel" value="${loginMember.memberTel}" maxlength="11">
</div>
.
.
.
<script src="${contextPath}/resources/js/member/myPage.js"></script>
</body>
</html>
🔎 myPage.js
function infoValidate(){
const memberNickname = document.getElementById("memberNickname");
const memberTel = document.getElementById("memberTel");
const regExp1 = /^[a-zA-Z0-9가-힣]{2,10}$/;
const regExp2 = /^0(1[01679]|2|[3-6][1-5]|70)\d{3,4}\d{4}$/;
if(memberNickname.value.length == 0){
alert("닉네임을 입력해주세요.");
memberNickname.focus();
return false;
}
if(!regExp1.test(memberNickname.value)){
alert("닉네임은 영어/숫자/한글 2~10글자 사이로 작성해주세요.");
memberNickname.focus();
return false;
}
if(memberTel.value.length == 0){
alert("전화번호를 입력해주세요.(-제외)");
memberTel.focus();
return false;
}
if(!regExp2.test(memberTel.value)){
return printAlert(memberTel, "전화번호 형식이 올바르지 않습니다.");
}
return true;
}
function printAlert(el, message){
alert(message);
el.focus();
return false;
}
📝 유효성 검사 - 비밀번호 변경
💡 VS Code
🔎 myPage-changePw.jsp
.
.
.
<form action="changePw" method="POST" name="myPage-form" onsubmit="return changePwValidate()">
<div class="myPage-row">
<label>현재 비밀번호</label>
<input type="password" name="currentPw" id="currentPw" maxlength="30">
</div>
<div class="myPage-row">
<label>새 비밀번호</label>
<input type="password" name="newPw" id="newPw" maxlength="30">
</div>
<div class="myPage-row">
<label>새 비밀번호 확인</label>
<input type="password" name="newPwConfirm" id="newPwConfirm" maxlength="30">
</div>
<button id="info-update-btn">수정하기</button>
</form>
.
.
.
<script src="${contextPath}/resources/js/member/myPage.js"></script>
</body>
</html>
🔎 myPage.js
.
.
.
function changePwValidate(){
const currentPw = document.getElementById("currentPw");
const newPw = document.getElementById("newPw");
const newPwConfirm = document.getElementById("newPwConfirm");
const regExp = /^[\w!@#_-]{6,30}$/;
if(currentPw.value.trim().length == 0){
return printAlert(currentPw, "현재 비밀번호를 입력해주세요.");
}
if(newPw.value.trim().length == 0){
return printAlert(newPw, "새 비밀번호를 입력해주세요.");
}
if(!regExp.test(newPw.value)){
return printAlert(newPw, "영어, 숫자, 특수문자(!,@,#,-,_) 6~30 글자 사이로 작성해주세요.");
}
if(newPwConfirm.value.trim().length == 0){
return printAlert(newPwConfirm, "새 비밀번호 확인을 입력해주세요.");
}
if(newPw.value != newPwConfirm.value){
return printAlert(newPwConfirm, "새 비밀번호가 일치하지 않습니다.");
}
return true;
}
📝 유효성 검사 - 회원 탈퇴
💡 VS Code
🔎 myPage-secession.jsp
.
.
.
<form action="secession" method="POST" name="myPage-form" onsubmit="return secessionValidate()">
<div class="myPage-row">
<label>비밀번호</label>
<input type="password" name="memberPw" maxlength="30">
</div>
<div class="myPage-row info-title">
<label>회원 탈퇴 약관</label>
</div>
<pre id="secession-terms">
.
.
.
<script src="${contextPath}/resources/js/member/myPage.js"></script>
</body>
</html>
🔎 myPage.js
.
.
.
function secessionValidate(){
const memberPw = document.getElementById("memberPw");
const agree = document.getElementById("agree");
if(memberPw.value.trim().length == 0){
return printAlert(memberPw, "비밀번호를 입력해주세요.");
}
if(!agree.checked){
return printAlert(agree, "약관 동의 후 탈퇴 버튼을 클릭해주세요.");
}
const str = "정말 탈퇴하시겠습니까?";
if(!confirm(str)){
return false;
}
return true;
}