728x90

 

 

jQuery ajax 

아이디 중복 유효성 검사

<%@ page language="java" contentType="text/html; charset=UTF-8"
		pageEncoding="UTF-8"%>
		
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">

<title>prac</title>



</head>
<body>

	<jsp:include page="../common/menubar.jsp"/>
	
	<h1 align="center">회원가입</h1>
	
	<div class="centerText">
		<form action="minsert.me" method="post" id="joinForm">
			<table>
				<tr>
					<th>* 아이디</th>
					<td>
						<input type="text" name="id" id="userId">
						<span class="guide ok"> 사용 가능 아이디</span>
						<span class="guide error"> 사용 불가능 아이디</span>
						<input type="hidden" id="idDuplicateCheck" value="0"/>
					</td>
				</tr>
				<tr>
					<th>* 이름</th>
					<td><input type="text" name="name"></td>
				</tr>
				<tr>
					<th>* 비밀번호</th>
					<td><input type="password" name="pwd"></td>
				</tr>
				<tr>
					<th>* 비밀번호 확인</th>
					<td><input type="password" name="pwd2"></td>
				</tr>
				<tr>
					<th>닉네임</th>
					<td><input type="text" name="nickName"></td>
				</tr>
				<tr>
					<th>성별</th>
					<td>
						<input type="radio" name="gender" value="M">남
						<input type="radio" name="gender" value="F">여
					</td>
				</tr>
				<tr>
					<th>나이</th>
					<td><input type="number" name="age" min="20" max="100"></td>
				</tr>
				<tr>
					<th>이메일</th>
					<td><input type="email" name="email"></td>
				</tr>
				<tr>
					<th>전화번호</th>
					<td><input type="tel" name="phone"></td>
				</tr>
				<tr>
					<th>우편번호</th>
					<td>
						<input type="text" name="post" class="postcodify_postcode5" value="" size="6">
						<button type="button" id="postcodify_search_button">검색</button>
					</td>
				</tr>
				<tr>
					<th>도로명 주소</th>
					<td><input type="text" name="address1" class="postcodify_address" value=""></td>
				</tr>
				<tr>
					<th>상세 주소</th>
					<td><input type="text" name="address2" class="postcodify_extra_info" value=""></td>
				</tr>
				
				<!-- jQuery와 Postcodify를 로딩을 위한 스크립트 -->
				<script src="//d1p7wdleee1q2z.cloudfront.net/post/search.min.js"></script>
				<script>
				// 검색 단추를 누르면 팝업 레이어가 열리도록 설정함
					$(function(){
						$("#postcodify_search_button").postcodifyPopUp();
					});
				</script>
				
				<tr>
					<td colspan="2" align="center">
						<button onclick="return validate();">가입하기</button>
						<input type="reset" value="취소하기"> <!-- 인풋 리셋은 name속성 필요없이 value에 텍스트나타나게 -->
						<button type="button" onclick="location.href='home.do'">시작 페이지로</button>
					</td>
				</tr>
			</table>
		</form>
	</div>




	<script>
		${'#userId'}.on('keyUp',function(){
			var userId = $(this).val().trim(); /* trim() : 앞뒤 공백제거 */
			
			if(userId.length > 4){ // 변수명.length
				$('.guide').hide();
				$('#idDuplicateCheck').val(0);
				return;
			}
			
			$.ajax({
				url:'dupId.me',
				date:{id:userId},
				success:function(data){
					console.log(date);
					
					if(data == 1){
						$('guide.error').show();
						$('guide.ok').hide();
						$('#idDuplicateCheck').val(0);
					}else{
						$('.guide.error').hide();
						$('.guide.ok').show();
						$('#idDuplicateCheck').val(1);
					}
				},
				error:function(data){
					console.log(date);		
				}
				
			});
		});
	
		function validate(){
			if($('#idDuplicateCheck').val() == 0){ // 유효성 검사로 중복아이디면 밸류값이 0
				alert('사용 가능한 아이디를 입력해주세요');
				$('#userId').focus(); // 아이디 입력하고 입력창으로 포인터 이동시키는 .focus()
				return false;
			}else{
				${'#joinForm'}.submit(); // .submit() : 폼태그 submit시키는 코드
			}
		}
		
	</script>


</body>
</html>

 

728x90
반응형
728x90

 

 

 

public class practice_everyday01 {
	public static void main(String[] args) {	
		
		int[] arr = new int[4];
		for(int i = 0; i<arr.length;i++) {
			System.out.println(arr[i] += (10+i));
		}
			
	}
}
728x90
반응형
728x90

JAVA 제어문 - 8.1. 종합응용 1

 

String[] users = {"egoing","jinhuck","youbin"};

[] 배열로 유저id 목록 전체를 관리하고

 

String inputId = args[0];

로그인시, 유저에게 아이디를 입력 받음

 

boolean isLogined = false;

로그인 여부 체크

플래그(flag) 변수 사용

 

for(int i=0; i<users.length; i++) {

for 반복 & 카운트 변수 초기화

users변수의 배열 길이만큼 for 반복

카운트변수i +1씩해서 카운트

 

String currentId = users[i];

새로 변수설정 currentId

users[i] 반복문 카운트i 올라가면서 users 배열에 있는 인덱스번호가 같이 올라가면서 반복문이 반복될 때마다 배열 안에 있는 str데이터값이 바뀌게 되고 하나씩 체크할 있게됨

 

 if (currentId.equals(inputId)) {

String[] users = {"egoing","jinhuck","youbin"}; 여기 유저 전체목록에서 유저가 로그인하기 위해서 입력한 아이디와  첫번째 유저아이디부터 차례대로 대조하여 맞는게 있는지 확인하는 과정

 

isLogined = true;
break;

로그인이 확인되었다는 의미의 플래그(flag) 변수. 로그인 되었으니 유저id찾는 반복문 종료

 

		System.out.println("Hi,");
		if(isLogined) {
			System.out.println("Master!!");
		} else {
			System.out.println("Who are you?");
			}

isLogined true이므로 if문이 작동하여 유저 환영 문구인 master!! 출력

 

public class flow_control08_1 {
	public static void main(String[] args) {

		String[] users = {"egoing","jinhuck","youbin"};
		String inputId = args[0];              # users목록 중에 inputId가 들어온게 있는 체크해야함
		
		boolean isLogined = false;             # 로그인 여부 확인. 로그인 아직안됬기에  false
		for(int i=0; i<users.length; i++) {    # 전체 유저수보다 작게 반복문실행해서 유저목록중에 로그인할려는 유저 찾기
			String currentId = users[i];       # currentId : 현재유저
			if (currentId.equals(inputId)) {   # currentId와 inputId가 같으면 true되서 if문 발동
				isLogined = true;              # 위의 불리안과 연결되어 로그인됬으니(true) 종료시킴. 이런걸 플래그(flag)변수라고함
				break;                         # 일치하는 사람이 있으면 반복문 종료
			}
		}
        
		System.out.println("Hi,");
		if(isLogined) {
			System.out.println("Master!!");
		} else {
			System.out.println("Who are you?");
			}
	}
}

 

 

 플래그(flag) 변수 

프로그래밍에서는 상태를 기록하고 처리 흐름을 제어하기 위한 boolean타입 변수를 의미

참과 거짓을 나타내주는 플래그

 

 

 



 

 

 

JAVA 제어문 - 8.1. 종합응용 2

1에서 명단만 있던 것에서 비밀번호 기능 추가해보는 수업

 

※ 2차원 배열(array)

배열 안에 배열

ex)

String[][] users = {
	{"egoing","1111"}
}

 

 

 1편에서 추가된 코드 디테일 해석

String inputPass = args[1]; // pw 인자

String inputId = args[0]; 에서 id를 유저로부터 입력 받는 코드였고, 위는 pw

 

if (
		current[0].equals(inputId) && # and 논리연산자 : 둘 다 만족
		current[1].equals(inputPass)  # ID랑 PW 둘다 같다면 로그인시키는 코드
			)

for문 안에서 if문으로 id와 pw 같은지 체크. and 논리연산자(&&)를 사용하여 id와 pw 둘 다 맞는지 확인한다

 

 

 

 

728x90
반응형
728x90

 

JAVA 제어문 - 7.3. 반복문(Loop) + 배열(Array)

 

 

html

<li>user name</li> 몇만개 반복해야된다면?

<li>egoing</li>

<li>jinhuck</li>

<li>youbin</li> ...

 

반복문과 배열이 중요

 

String[] users = new String[3];
users[0] = "egoing";
users[1] = "jinhuck";
users[2] = "youbin";


for (int i = 0; i < 3; i++) {        # 배열 길이랑 맞지 않는 반복횟수의 경우의 수에서는 제대로 작동x
	System.out.println("<li>"+users[i]+"</li>");   # html <li>태그 반복문
}

 - i<3 조건이므로, 3까지는 괜찮으나 3보다 작은 수면 에러나고, 크면 커도 3개까지만 출력되므로 코드가 제대로 작동하지 않는다

 

String[] users = new String[3];
users[0] = "egoing";
users[1] = "jinhuck";
users[2] = "youbin";

for (int i = 0; i<users.length; i++) {     # .length추가로 new String[]배열 길이에 따라 반복가능
	System.out.println(users[i]+",");   # user[인덱스]에 나눠어서 , 찍어주고
}

 - 범위를 i < users.length(배열의 길이의 따른 숫자) 맞아 떨어지게 몇명의 유저수가 와도 자동으로 수에 맞춰서 반복문 횟수를 조절해주게 된다.

 - i++ i = i+1와 같은 코드

 

 

for (int i = 0; i<users.length; i++) 기억!

 

728x90
반응형

+ Recent posts