1. 비밀번호 복잡성 검증
- 비밀번호 정책을 강화하기 위해, 대문자, 소문자, 숫자, 특수 문자가 각각 최소 하나씩 포함되어야 하며, 전체 길이가 8자 이상
정규표현식 : /^(?=.[a-z])(?=.[A-Z])(?=.\d)(?=.[^\da-zA-Z]).{8,}$/
function validatePassword(password) {
const regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[^\\da-zA-Z]).{8,}$/;
console.log(regex.test(password));
}
validatePassword('Password123!'); // true
validatePassword('password123!'); // false
validatePassword('Password123'); // false
validatePassword('Password!'); // false
^(?=.[a-z])
- 어떠한 문자든지 여러개 작성
- 반드시 최소 한개의 소문자를 포함해서 작성
(?=.*[A-Z])
- 위와 동일하지만 최소 한 개의 대문자를 포함하여 작성
(?=.*\d)
- 위와 동일하지만 최소 한 개의 숫자를 포함하여 작성
(?=.*[^\da-zA-Z])
- 숫자, 영문자(대, 소문자)를 제외한 문자 중(즉, 특수기호를 의미) 한 개를 반드시 포함
- 최소 한 개 이상의 특수기호를 포함하여 작성
.{8,}$