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
}
}