회원가입 밸리데이션 및 유효성체크 보완

dev_bert
jonghwan76 3 years ago
parent 2c7a40241f
commit 6d7ac1ce5d

@ -9,12 +9,22 @@
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="4099ff18-820b-4e43-a4c5-6159d58dccc4" name="변경" comment="아기정보입력 생년월일 형식 수정&#10;추천이유식 &gt; 카트팝업 검색 기능 및 조회 적용">
<list default="true" id="4099ff18-820b-4e43-a4c5-6159d58dccc4" name="변경" comment="메모리 공유기능 적용 - 카카오, URL복사">
<change afterPath="$PROJECT_DIR$/src/main/webapp/m/js/util.js" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/webapp/static/js/util.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/memory/memory_common.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/memory/memory_common.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/memory/memory_daily.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/memory/memory_daily.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/memory/memory_timeline.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/memory/memory_timeline.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/memory/memory_week.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/memory/memory_week.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/include/confirm.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/include/confirm.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/include/index_bottom.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/include/index_bottom.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/include/index_top.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/include/index_top.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_change_account_pw.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_change_account_pw.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_find_id_01.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_find_id_01.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_find_id_02.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_find_id_02.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_join_member_01.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_join_member_01.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_join_member_01_confirm.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_join_member_01_confirm.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_pw_reset_email_01.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_pw_reset_email_01.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_pw_reset_email_02.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_pw_reset_email_02.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_pw_reset_phone_01.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_pw_reset_phone_01.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_pw_reset_phone_02.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_pw_reset_phone_02.ftl" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -60,7 +70,7 @@
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/bf_food" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/src/main/webapp/m/js" />
<property name="project.structure.last.edited" value="프로젝트" />
<property name="project.structure.proportion" value="0.0" />
<property name="project.structure.side.proportion" value="0.0" />
@ -69,11 +79,11 @@
</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="C:\project\bf\src\main\webapp\m\js" />
<recent name="C:\project\bf\src\main\webapp\static\js" />
<recent name="C:\project\bf\src\main\webapp\WEB-INF\views\ftl\m\bf_food" />
<recent name="C:\project\bf\src\main\webapp\WEB-INF\views\ftl\m\bf_family_baby" />
<recent name="C:\project\bf\src\main\webapp\WEB-INF\views\ftl\m\member_env" />
<recent name="C:\project\bf\src\main\webapp\WEB-INF\views\ftl\m\login" />
<recent name="C:\project\bf\src\main\webapp\m\img" />
</key>
</component>
<component name="RunManager">
@ -217,7 +227,9 @@
<workItem from="1649917548966" duration="1302000" />
<workItem from="1649921550394" duration="230000" />
<workItem from="1649928321125" duration="16823000" />
<workItem from="1650020162949" duration="8111000" />
<workItem from="1650020162949" duration="8484000" />
<workItem from="1650082025322" duration="596000" />
<workItem from="1650099253570" duration="7878000" />
</task>
<task id="LOCAL-00001" summary="최초 커밋">
<created>1645354476031</created>
@ -450,7 +462,14 @@
<option name="project" value="LOCAL" />
<updated>1650025938024</updated>
</task>
<option name="localTasksCounter" value="34" />
<task id="LOCAL-00034" summary="메모리 공유기능 적용 - 카카오, URL복사">
<created>1650035532550</created>
<option name="number" value="00034" />
<option name="presentableId" value="LOCAL-00034" />
<option name="project" value="LOCAL" />
<updated>1650035532550</updated>
</task>
<option name="localTasksCounter" value="35" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
@ -470,7 +489,6 @@
<component name="VcsManagerConfiguration">
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" />
<option name="CHECK_NEW_TODO" value="false" />
<MESSAGE value="추천홈메이드이유식 &gt; 팝업 &gt; 연관식품 삭제" />
<MESSAGE value="예방접종 표시 오류 수정" />
<MESSAGE value="음악설정 수정&#10;부모정보 변경 삭제" />
<MESSAGE value="비밀번호 찾기 기능 적용&#10;로그인 회원가입 형식 변경" />
@ -495,6 +513,7 @@
<MESSAGE value="추천이유식 - 추천이유식 식재료 팝업 및 카트 팝업 적용." />
<MESSAGE value="추천이유식 - 추천이유식 식재료 팝업 및 카트 팝업 적용.-2" />
<MESSAGE value="아기정보입력 생년월일 형식 수정&#10;추천이유식 &gt; 카트팝업 검색 기능 및 조회 적용" />
<option name="LAST_COMMIT_MESSAGE" value="아기정보입력 생년월일 형식 수정&#10;추천이유식 &gt; 카트팝업 검색 기능 및 조회 적용" />
<MESSAGE value="메모리 공유기능 적용 - 카카오, URL복사" />
<option name="LAST_COMMIT_MESSAGE" value="메모리 공유기능 적용 - 카카오, URL복사" />
</component>
</project>

@ -36,13 +36,19 @@
//SMS 아이디 또는 패스워드를 찾기 위한 인증코드 발송
function ajax_send_sms(flag) {
alert(flag);
if (is_loading == false) {
is_loading = true;
var phone_num = $('#phone').val();
alert(phone_num);
if(phone_num == ''){
Swal.fire({ text: "휴대폰 번호를 입력해주세요.", icon: 'warning', showConfirmButton: false, timer: 1500 }); // success
is_loading == false
// stop_timer();
}else{
$.ajax({
@ -57,7 +63,7 @@
dataType:'json',
error:function(request,status,error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
is_loading == false
// stop_timer();
},
success:function(result){

@ -162,6 +162,8 @@
<#--location.href = "${URL_ROOT}/m/bf_food/list_bf_homemade_recommend.do?smc_no=" + $("#smc_no").val() + "&return_url=list_bf_homemade_recommend";-->
location.href = "${URL_ROOT}/m/bf_food/list_bf_homemade_recommend.do?return_url=list_bf_homemade_recommend";
}
</script>
</html>

@ -25,6 +25,7 @@
<script src="${URL_STATIC_ROOT}/static/js/moment.js" type="text/javascript" ></script>
<script src="../js/common.js" type="text/javascript" ></script>
<script src="../js/util.js" type="text/javascript" ></script>
<script src="${URL_STATIC_ROOT}/static/renamaster/js/cookie.js"></script>
<script src="${URL_STATIC_ROOT}/static/renamaster/js/renamaster_map.js"></script>
<script src="${URL_STATIC_ROOT}/static/renamaster/js/renamaster_util.js"></script>

@ -16,10 +16,10 @@
<div class="search_phone">
<h3>비밀번호 재설정</h3>
<div class="input_search_phone">
<input type="password" id="password_1" name="password_1" value="" class="input_box" placeholder="영문/숫자/특수문자2조합 9~15자 이내로 작성해주세요." />
<input type="password" maxlength="15" id="password_1" name="password_1" value="" class="input_box" placeholder="영문/숫자/특수문자2조합 9~15자 이내로 작성해주세요." />
</div>
<div class="input_search_phone">
<input type="password" id="password_2" name="password_2" placeholder="비밀번호 재입력" class="input_box" placeholder="비밀번호를 확인해주세요."/>
<input type="password" maxlength="15" id="password_2" name="password_2" placeholder="비밀번호 재입력" class="input_box" placeholder="비밀번호를 확인해주세요."/>
</div>
<div class="input_search_phone_btn">
<a href="javascript:fncChangePw();">로그인</a>

@ -16,7 +16,7 @@
<div class="search_phone">
<p>전화번호</p>
<div class="input_search_phone">
<input type="number" id="phone" name="phone" value="" placeholder="가입 시 사용한 전화번호를 입력하세요" class="input_box" onfocus="this.placeholder=''" onblur="this.placeholder='가입 시 사용한 전화번호를 입력하세요'" />
<input type="text" maxlength="15" onkeyup="this.value = phone_mask(this.value)" id="phone" name="phone" value="" placeholder="가입 시 사용한 전화번호를 입력하세요.(숫자만 가능)" class="input_box" />
</div>
<div class="input_search_phone_btn">
<a href="javascript:ajax_send_sms(1);">인증코드 발송</a>

@ -22,7 +22,7 @@
</div>
<p>인증코드</p>
<div class="input_search_phone">
<input type="number" id="check_num" name="check_num" placeholder="인증코드를 입력하세요" class="input_box" />
<input type="text" maxlength="4" id="check_num" name="check_num" placeholder="인증코드를 입력하세요" class="input_box" />
</div>
<div class="input_search_phone_btn">
<a href="javascript:ajax_confirm_sms();">인증코드 확인</a>

@ -22,12 +22,12 @@
<div class="sign_up_chk">
<h5>이름</h5>
<div class="input_name">
<input type="text" id="name" name="name" placeholder="이름을 입력하세요" class="input_box" onfocus="this.placeholder=''"
<input type="text" id="name" name="name" placeholder="이름을 입력하세요" maxlength="30" class="input_box" onfocus="this.placeholder=''"
onblur="this.placeholder='이름을 입력하세요'" />
</div>
<h5>전화번호</h5>
<div class="input_phone">
<input type="number" id="phone" name="phone" placeholder="010-xxxx-zzzz" value="" class="input_box" onfocus="this.placeholder=''"
<input type="text" maxlength="15" id="phone" name="phone" onkeyup="this.value = phone_mask(this.value)" placeholder="010-xxxx-zzzz" value="" class="input_box" onfocus="this.placeholder=''"
onblur="this.placeholder='전화번호를 입력하세요'" />
</div>
@ -44,7 +44,6 @@
<!-- //wrap -->
</body>
<script>
var is_loading = false;
var s_time = 180;

@ -34,7 +34,7 @@
</div>
<h5>인증코드</h5>
<div class="input_sign_phone">
<input type="text" id="check_num" name="check_num" class="input_box" />
<input type="text" maxlength="4" id="check_num" name="check_num" class="input_box" />
</div>
<div class="input_search_phone_btn">
@ -93,7 +93,7 @@
// Swal.fire({ text: "인증되었습니다.", icon: 'success', showConfirmButton: false, timer: 1500 }); // success
location.href='${URL_ROOT}/m/login/view_join_member_02.do';
}else{
Swal.fire({ text: "인증에 실패했습니다.", icon: 'warning', showConfirmButton: false, timer: 1500 }); // success
Swal.fire({ text: "인증에 실패했습니다. 인증번호가 맞지 않거나 인증시간 3분 초과입니다.", icon: 'warning', showConfirmButton: false, timer: 1500 }); // success
is_loading = false;
}

@ -13,7 +13,7 @@
<div class="search_pw_email">
<p>이메일</p>
<div class="input_search_phone">
<input type="text" id="email" name="email" placeholder="가입 시 사용한 이메일을 입력하세요" class="input_box" onfocus="this.placeholder=''" onblur="this.placeholder='가입 시 사용한 이메일을 입력하세요'" />
<input type="text" maxlength="30" id="email" name="email" placeholder="가입 시 사용한 이메일을 입력하세요" class="input_box" onfocus="this.placeholder=''" onblur="this.placeholder='가입 시 사용한 이메일을 입력하세요'" />
<div class="input_search_phone_btn">
<a href="javascript:ajax_find_pwd();">인증요청</a>
</div>

@ -17,7 +17,7 @@
</div>
<p>인증코드</p>
<div class="input_search_phone">
<input type="number" id="check_num" name="check_num" placeholder="인증코드를 입력하세요" class="input_box" />
<input type="text" maxlength="4" id="check_num" name="check_num" placeholder="인증코드를 입력하세요" class="input_box" />
</div>
<div class="input_search_phone_btn">
<a href="javascript:ajax_confirm_email();">인증코드 확인</a>

@ -11,7 +11,7 @@
<div id="search_pw" class="search_pw">
<div class="search_pw_email">
<p>이메일</p>
<p>전화번호</p>
<div class="input_search_phone">
<input type="number" id="phone" name="phone" placeholder="가입 시 사용한 전화번호를 입력하세요" class="input_box" onfocus="this.placeholder=''" onblur="this.placeholder='가입 시 사용한 전화번호를 입력하세요'" />
<div class="input_search_phone_btn">

@ -22,7 +22,7 @@
</div>
<p>인증코드</p>
<div class="input_search_phone">
<input type="number" id="check_num" name="check_num" placeholder="인증코드를 입력하세요" class="input_box" />
<input type="text" maxlength="4" id="check_num" name="check_num" placeholder="인증코드를 입력하세요" class="input_box" />
</div>
<div class="input_search_phone_btn">
<a href="javascript:ajax_confirm_pw_sms();">인증코드 확인</a>

@ -0,0 +1,8 @@
// 전화번호 숫자와 대시만 허용
function phone_mask(objValue) {
var v = objValue;
v = v.replace(/[a-zA-Z]/g, "");
v = v.replace( /[\{\}\[\]\/?,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]/gi, "");
return v;
}
Loading…
Cancel
Save