티스토리 뷰
정규식 패턴을 이용한 카드번호 마스킹 처리
앞 7자리부터 6개의 문자를 "*"로 치환한다.
private final static Pattern pan_pattern = Pattern.compile("^(\\d{4}\\D?\\d{2})(\\d{2})(\\D?)(\\d{4})(\\D?\\d{4})$");
public static boolean isPAN(String pan) {
Matcher matcher = pan_pattern.matcher(pan);
return matcher.matches();
}
public static String maskPAN(String pan) {
Matcher matcher = pan_pattern.matcher(pan);
if(matcher.find()) {
return new StringBuffer (matcher.group(1)).append("**").append(matcher.group(3)).append("****").append(matcher.group(5)).toString();
} else {
return pan;
}
}
테스트 결과
카드번호 : 1234567890123456 ==> 123456******3456
카드번호 : 1234-5678-9012-3456 ==> 1234-56**-****-3456
'지식정보' 카테고리의 다른 글
netstat 사용법 (0) | 2021.01.08 |
---|---|
Oracle FETCH (0) | 2020.05.11 |
[JAVA] 정규식 주민등록번호 마스킹처리 (0) | 2019.07.16 |
[JAVA] 정규식 이메일 마스킹 처리 (0) | 2019.07.16 |
[JAVA] 정규식 전화번호 마스킹 처리 (0) | 2019.07.16 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday