Spring/쇼핑몰 프로젝트

회원 가입 이메일 아이디 유효성 검사

루바의 여정 2024. 4. 8. 11:15

 

오늘은 회원 가입 시 이메일 아이디의 유효성 검사하는 방법에 대해 알아보자.

ajax를 사용해 사용자가 아이디를 입력하자마자 검사하는 방법을 사용할 것이다.


 

input 태그를 사용해 아이디를 입력할 곳을 만든다.

<input type="email" placeholder="아이디(이메일)" id="email">

 

 

.blur()를 사용해 input 태그가 포커스를 잃으면 함수가 적용되도록 한다.

 

https://travelof-fnqk.tistory.com/29

 

JavaScript - .focus(), .blur()

회원 가입을 진행할 때 아이디, 비밀번호를 입력하고 유효성 검사가 바로 진행되는 경우가 있다. 이때 사용되는 focus, blur에 대해서 알아보자. 1. focus 사용자가 클릭하거나 tab 키를 눌러 어떠한

travelof-fnqk.tistory.com

 


 

아래의 정규식을 사용해 아이디 유효성 검사를 진행할 수 있다.

.test()를 사용해 아래 정규식에 적합하면 true, 아니면 false를 반환한다.

let email_check = RegExp(/^[A-Za-z0-9_\-]+@[A-Za-z0-9\-]+\.[A-za-z0-9\-]+/);

 

 

이메일 형식으로 입력하지 않으면 이메일 형식으로 입력해달라는 메시지를 출력한다.

 


 

ajax를 사용해 입력한 아이디가 DB에 저장되어 있는지 확인하는 방법이다.

 

  • type: 요청 방식(GET, POST, PUT, DELETE)
  • url: 요청 url
  • data: 전달할 파라미터
  • dataType: 서버에서 반환되는 데이터 형식(text, html, xml, json, jsonp, script)
  • success: ajax 통신이 성공적했을 때 실행
  • error: ajax 통신에 에러가 발생했을 때 실행

 

$.ajax({
                    type:"post",
                    url:"/member/emailCheck",
                    data:{ email: email},
                    dataType: "text",
                    success:function (data){
                        let idCheck = $('.idCheck');
                        if(data === "1"){
                        	// 사용할 수 있는 아이디입니다. 출력
                        }
                        if(data === "0"){
                        	// 이미 사용 중인 아이디입니다. 출력
                        }
                    },
                    error:function(){
                        alert("에러!")
                    }
                })

 


 

전체 코드

$(document).ready(function(){
        $('#email').blur(function (){
            let email = $('#email').val();
            let email_check = RegExp(/^[A-Za-z0-9_\-]+@[A-Za-z0-9\-]+\.[A-za-z0-9\-]+/);
            if($.trim(email)===""){
                // 아이디를 입력해주세요 출력
            }
            else if(!email_check.test(email)){
                // 이메일 형식으로 입력해주세요 출력
            }
            else{
                $.ajax({
                    type:"post",
                    url:"/member/emailCheck",
                    data:{ email: email},
                    dataType: "text",
                    success:function (data){
                        let idCheck = $('.idCheck');
                        if(data === "1"){
                        	// 사용할 수 있는 아이디입니다. 출력
                        }
                        if(data === "0"){
                        	// 이미 사용 중인 아이디입니다. 출력  
                        }
                    },
                    error:function(){
                        alert("에러!")
                    }
                })
            }
        })
    })

'Spring > 쇼핑몰 프로젝트' 카테고리의 다른 글

다음 우편 번호 API 서비스  (0) 2024.04.08