JavaScript

[jQuery] 비밀번호 재확인 기능 구현

코북 2021. 7. 29. 10:15

안녕하세요 코북입니다.

오늘은 비밀번호 재확인 기능 구현했던 것을 기록하려고 합니다.

 

<table border = "1px solid black">	
	<form action = "JoinService" method = "post">
		<tr>
			<td>ID</td>
			<td><input type = "text" name = "id"></td>
		</tr>
		<tr>
			<td>PW</td>
			<td><input type = "password" name = "pw"></td>				
		</tr>
		<tr>
			<td>PW 확인</td>
			<td><input type = "password" name = "pw2"></td>
		</tr>
		<tr>
			<td align = "center"><input type = "submit" value = "가입하기"></td>
		</tr>
	</form>
</table>

 

우선 간단하게 아이디와 비밀번호를 입력할 수 있는 table을 만들었고

form태그를 사용해서 입력받은 정보를 JoinService로 보내줄 수 있게 만들었습니다.

 

<tr>
	<td>PW 확인</td>
	<td colspan = "2">
		<input type = "password" name = "pw2">
		<font id = "checkPw" size = "2"></font>
	</td>
</tr>

 

<td>PW 확인</td>에 값을 넣은 후 바로 일치 불일치 여부를 표시해주려고 합니다.

<font>태그를 빈칸으로 만들어놓은 후, 일치 불일치 여부에 따라 값을 넣어줄 계획입니다.

이때, font태그에 접근하기 위해 id값을 설정했습니다.

td값이 두 개가 되었으니 colspan으로 병합시켜주세요

 

 

<tr>
	<td>PW</td>
	<td><input type = "password" name = "pw" class = "pw" id = "password_1" ></td>		
</tr>
<tr>
	<td>PW 확인</td>
	<td colspan = "2">
		<input type = "password" name = "pw2" class = "pw" id = "password_2" >
		<font id = "checkPw" size = "2"></font>
	</td>
</tr>

 

사용자가 비밀번호를 입력할 때 함수가 작동할 수 있도록 하기 위해

<input>에 id와 class를 설정해줍니다

 

<script src = "js/jquery-3.6.0.min.js"></script>
<script>
	$('.pw').focusout(function(){
    
    
    })
    
</script>

 

jQuery를 이용하기 위해 <script>태그 안에 jQuery를 불러옵니다.

 

$('.pw')로 클래스값이 pw인 선택자들에 접근하고.

요소가 포커스를 벗어났을 때 이벤트를 주기 위해 focusout()을 이용합니다. 저는 focusout을 사용했지만, keyup, keydown 등 다양한 방법으로 구현이 가능합니다. keyup은 키보드에서 손을 떼어냈을 때 이벤트가 발생하기 때문에 keyup도 좋을 것 같습니다.

 

<script src = "js/jquery-3.6.0.min.js"></script>
<script>
	$('.pw').focusout(function(){
    	let pass1 = $("#password_1").val();
        let pass2 = $("#password_2").val();
        
        if (pass1 != "" || pass2 != ""){
        	if (pass1 == pass2){
            	$("#checkPw").html('일치');
            	$("#checkPw").attr('color','green');
            } else {
            	$("#checkPw").html('불일치');
                $("#checkPw").attr('color','red');
            }
        }
    
    })
    
</script>

 

pass1과 pass2 변수에 사용자가 입력한 값을 받아줍니다.

 

if문을 사용해 pass1과 pass2가 일치하면 <font> 태그에 일치가 나오도록 해줍니다.

똑같은 방법으로 pass1과 pass2가 불일치하면 <font>태그에 불일치가 나오도록 해줍니다.

 

<table border = "1px solid black">	
	<form action = "JoinService" method = "post">
		<tr>
			<td>ID</td>
			<td><input type = "text" name = "id"></td>
		</tr>
		<tr>
			<td>PW</td>
			<td><input type = "password" name = "pw" class = "pw" id = "password_1" ></td>	
		</tr>
		<tr>
			<td>PW 확인</td>
			<td colspan = "2">
				<input type = "password" name = "pw2" class = "pw" id = "password_2" >
				<font id = "checkPw" size = "2"></font>
			</td>
		</tr>
		<tr>
			<td colspan = "2" align = "center">
				<input type = "submit" value = "가입하기">
			</td>
		</tr>
	</form>
</table>

<script src = "js/jquery-3.6.0.min.js"></script>
<script>
	$('.pw').keyup(function(){
    	let pass1 = $("#password_1").val();
        let pass2 = $("#password_2").val();
        
        if (pass1 != "" || pass2 != ""){
        	if (pass1 == pass2){
            	$("#checkPw").html('일치');
            	$("#checkPw").attr('color','green');
            } else {
            	$("#checkPw").html('불일치');
                $("#checkPw").attr('color','red');
            }
        }
    
    })
    
</script>

 

정리한 코드입니다. 이쪽에서는 keyup을 사용해봤습니다.

 

실행화면입니다.

 

지금까지 비밀번호 재확인 기능을 구현하는 방법에 대해서 알아봤습니다.

끝까지 읽어주셔서 감사합니다 ^^