^(?=.*[a-zA-Z])(?=.*\d)(?=.*[!@#$%^&*()])[a-zA-Z\d!@#$%^&*()]{8,12}$
해당 정규식을 각각의 조건에 대한 설명과 함께 설명하겠습니다:
^ : 문자열의 시작을 나타냅니다.
(?=.*[a-zA-Z]) : 최소한 한 개의 알파벳 문자를 포함해야 함을 나타냅니다.
(?=.*\d) : 최소한 한 개의 숫자를 포함해야 함을 나타냅니다.
(?=.*[!@#$%^&*()]) : 최소한 한 개의 특수문자를 포함해야 함을 나타냅니다. 여기서 사용된 특수문자는 !@#$%^&*()입니다. 필요에 따라 이 특수문자 집합을 수정할 수 있습니다.
[a-zA-Z\d!@#$%^&*()]{8,12} : 영문, 숫자, 특수문자의 조합으로 이루어진 8자 이상 12자 이하의 문자열을 의미합니다.
$ : 문자열의 끝을 나타냅니다.
이 정규식을 사용하면 비밀번호가 요구하는 조건에 맞는지 검증할 수 있습니다.
예를 들어:
var password = "Abc123!@";
var regex = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[!@#$%^&*()])[a-zA-Z\d!@#$%^&*()]{8,12}$/;
if (regex.test(password)) {
console.log("비밀번호가 유효합니다.");
} else {
console.log("비밀번호가 유효하지 않습니다.");
}
위의 예제에서 password 변수에 비밀번호를 할당하고, 정규식을 사용하여 해당 비밀번호가 유효한지 확인합니다. test() 메서드를 사용하여 정규식과 비밀번호를 비교하고, 결과에 따라 적절한 메시지가 출력됩니다.
'Program > JavaScript' 카테고리의 다른 글
$.ajax() 함수에서 사용되는 콜백 함수 success 와 complete 차이 (0) | 2024.09.25 |
---|---|
[JavaScript] JSP 파일에 자동 저장 기능을 구현 (0) | 2024.01.26 |
[JS] 첨부파일 다운로드 시 특정 폴더 경로 설정 가능한가요? (0) | 2022.10.13 |
[JavaScript] 모든 문자열 치환하기 (replaceAll) (0) | 2021.03.03 |
[JavaScript] Null , 빈 값 체크 (0) | 2020.03.04 |