nodejs

⚙️ 회원가입 시 이메일, 비밀번호 형식에 맞게 써주세요!

juju824 2020. 9. 18. 01:26

🤔 서버로 회원가입 로직을 짜다 문득 든 생각 

이메일 형식, 비밀번호 형식에 맞춰서 써야 하는 거 아닌가? 

 

 

📌 정규표현식을 이용하면 된다 

signup : async (req, res) => {
        const {
            email,
            password,
            passwordConfirm
        } = req.body;
        
        var regPw = /^[a-zA-Z0-9~!@#$%^&*()_+|<>?:{}]{8,20}$/i;
        //pw 형식 체크하는 정규 표현식 
        
        var regEmail = /^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/i;
        //email 형식 체크하는 정규 표현식
        
        if ( !regEmail.test(email) ) {
            return res.status(statusCode.OK)
                .send(util.fail(statusCode.OK, resMessage.NOT_EMAIL_FORM));
        } //email 형식 체크
        
        else{
            if ( !regPw.test(password)) {
                return res.status(statusCode.OK)
                .send(util.fail(statusCode.OK, resMessage.NOT_PASSWORD_FORM));
            }//비밀번호 형식 체크
            
        /... 이메일 형식과 비밀번호 형식 맞을 경우 실행되게끔

 

req.body에서 받아온 email 과 pw 를 

 

✔️ regPw ( pw 형식 체크)

/^[a-zA-Z0-9~!@#$%^&*()_+|<>?:{}]{8,20}$/i;

{8,20}은 8자리 이상 20자리 이하를 뜻한다

영어 대, 소문자, 특수문자, 숫자로 이루어진 8자리 이상의 비밀번호 정규표현식이다.

 

✔️ regEmail ( email 형식 체크) 

 

이 두가지 정규 표현식을 이용하여 reg.Email.test(email) 코드 하나면 끝!