Atomic Habits

※ 패스워드 규칙검사 예제 본문

IT/Regular Expressions

※ 패스워드 규칙검사 예제

체계성 2021. 12. 5. 10:57

출처 : https://codevang.tistory.com/115

 

※ 패스워드 규칙검사 예제

1. (?=.*[A-Z]) → 대문자 검사

   - 대문자 1개 앞에 아무거나 있거나 없거나 (.*)

   - 앞에 뭐가 있던 상관없고 대문자가 1개라도 있어야 true가 되기 때문에 대문자 검사식이 됨

2. ​(?=.*[a-z]) → 소문자 검사

3. (?=.*[0-9]) → 숫자 검사

4. (?=.*[\\W^\\s]) → 공백이 아닌 (문자,숫자가 아닌)문자(특수문자) 검사

5. [\\S^\\\\]{8,} → 허용 문자 및 최소 횟수 설정

   - 공백이 아니면서 역슬레쉬가 아닌 문자가 8개 이상 연속돼야 함

 

package study.first;

import java.util.regex.Pattern;

public class Main {
	public static void main(String[] args) {

		// 정규표현식 작성
		String a = "(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[\\W^\\s])[\\S^\\\\]{8,}";

		// 검사할 문자
		String b = "password!!";	// false
		String c = "p@ss1Word";		// true


		// 정규표현식 패턴검사 결과
		System.out.println(Pattern.matches(a, b)); // false
		System.out.println(Pattern.matches(a, c)); // true
	}
}
Comments