IT 소스/정규 표현식

자주 사용하는 예제로 알아보는 정규 표현식 (비밀번호)

한량이야기 2023. 1. 23. 22:29
반응형

안녕하세요. 경제적, 시간적 자유를 꿈꾸는 한량입니다.

자바스크립트 정규식을 활용하여 비밀번호를 검증하는 소스입니다.

자바스크립트

function check_pw() {

  var pw = document.getElementById("pw").value;


  var regPw = /(?=.*[A-z])(?=.*\d)(?=.*\W)^.{8,15}$/;

  if (regPw.test(pw) == true) {

    alert("비밀번호 형식이 맞습니다.");

  }

}

HTML

<input type="text" id="pw" name="pw" />

<input type="button" onclick="check_pw()" value="비밀번호 확인" />


regPw에 작성한 정규식을 알아봅시다.
(?=.*[A-z]) : 대문자 A부터 소문자 z까지 1번 이상 포함해야 합니다.
(?=.*\d) : 숫자를 1번 이상 포함해야 합니다.
(?=.*\W) : 알파벳과 숫자 아닌 문자를 1번 이상 포함해야 합니다.
^.{8,15}$ : 총 자리수는 8자리에서 15자리까지입니다.


위 조건을 만족하면 regPw.test(pw)를 통과하여 true라는 값을 반환하여 alert를 보여 줍니다.

regPw에 작성한 정규식의 다른 표현

var regPw = /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,15}$/;

var regPw = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,15}$/;

아래 사이트는 정규식을 테스트 할 수 있는 사이트입니다.
https://regexr.com/

RegExr: Learn, Build, & Test RegEx

RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).

regexr.com

반응형