본문 바로가기
개발/javascript

javascript 패스워드 영문,숫자,특수문자 1개씩을 포함한 8자 이상 정규식으로 체크하기

by 황태고블린 2022. 2. 15.

패스워드 정규식

막상 할때는 생각안나는게 정규식이라 오랜만에 작업하면서 기록으로 남겨봅니다

 

html 은 간략하게 입력란과 체크 버튼 하나

<input type="text" id="enterPW">
<button type="button" id="clickCheck">
  체크
</button>

 

정규식을 이용한 영문,숫자,특수문자 1개씩을 포함한 패스워드 체크

비밀번호 자릿수는 별도로 체크하는데 정규식으로도 가능하지만 별도의 구분 메시지를 알려주기 위해

따로 구분 했습니다

let pw_check = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,16}$/; // 패스워드 정규식 체크

let clickCheck = document.querySelector("#clickCheck");

clickCheck.addEventListener('click',function(){
	
	let enterPW = document.getElementById('enterPW').value;

	if(enterPW.length == 0 || enterPW.length < 8){
		alert("새 비밀번호 는 8자리 이상이어야 합니다");
		return;
	}
  
    if(!pw_check.test(enterPW)){
        alert("영문, 숫자, 특수문자를 1자리씩 포함해야 합니다");
        return;
    }  
});

 

jsfiddle 로 만들어본 예제

https://jsfiddle.net/un8segt0/1/

 

Edit fiddle - JSFiddle - Code Playground

 

jsfiddle.net

 

댓글