[Javascript] 비밀번호 정규식 - 8자 이상의 문자열, 하나 이상 숫자, 문자, 특수문자 포함하기

가이드문구

웹취약점과 관련하여 비밀번호 변경 규칙을 지정하는 것은 필수입니다.

사용자 패스워드 변경에 대한 규칙이 없으면 계정관리에 취약점이 생겨 해킹에 위험성이 높아집니다.

또한, 이전에 사용했던 비밀번호나 아이디 또는 이메일과 중복되는 비밀번호는 사용하지 못하도록 validation 체크를 해야 합니다.

여기서는 8자 이상 문자열, 하나이상 숫자, 문자, 특수문자를 포함하는 비밀번호 정규식 규칙을 알아보도록 하겠습니다.


최소 8 자, 하나 이상의 문자와 하나의 숫자 정규식

  1. var reg = "^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$";
  2. var txt = "aaaa";
  3. if( !reg.test(txt) ) {
  4. alert("비밀번호 정규식 규칙 위반!!");
  5. return false;
  6. }


최소 8 자, 하나 이상의 문자, 하나의 숫자 및 하나의 특수 문자 정규식

  1. var reg = "^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$";
  2. var txt = "aaaa";
  3. if( !reg.test(txt) ) {
  4. alert("비밀번호 정규식 규칙 위반!!");
  5. return false;
  6. }

최소 8 자, 하나 이상의 대문자, 하나의 소문자 및 하나의 숫자 정규식

  1. var reg = "^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$";
  2. var txt = "aaaa";
  3. if( !reg.test(txt) ) {
  4. alert("비밀번호 정규식 규칙 위반!!");
  5. return false;
  6. }

최소 8 자, 하나 이상의 대문자, 하나의 소문자, 하나의 숫자 및 하나의 특수 문자 정규식

  1. var reg = "^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$";
  2. var txt = "aaaa";
  3. if( !reg.test(txt) ) {
  4. alert("비밀번호 정규식 규칙 위반!!");
  5. return false;
  6. }

최소 8 자 및 최대 10 자, 하나 이상의 대문자, 하나의 소문자, 하나의 숫자 및 하나의 특수 문자 정규식

  1. var reg = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,10}$";
  2. var txt = "aaaa";
  3. if( !reg.test(txt) ) {
  4. alert("비밀번호 정규식 규칙 위반!!");
  5. return false;
  6. }

상기 예시를 사용하여 비밀번호 정규식으로 취약점 보완을 할 수 있습니다.

작성자 소개
초이 프로필
WrapUp 블로거

초이

반려견을 좋아하고, 차를 좋아하고, 여행을 좋아하고, 맛집을 찾아 즐기는 웹 개발자 입니다^^