티스토리 뷰
정규식 패턴을 이용한 주민등록번호 마스킹 처리
앞 7자리를 제외한 나머지 문자를 "*"로 치환한다.
private final static Pattern ssn_pattern = Pattern.compile("^(\\d{6}\\D?\\d{1})(\\d{6})$");
public static String maskSSN(String ssn) {
Matcher matcher = ssn_pattern.matcher(ssn);
if(matcher.find()) {
return new StringBuffer (matcher.group(1)).append("******").toString();
}
return ssn;
}
다른 방법으로 무조건 마지막 6자리를 *표로 치환하는 방법
private final static String last_6_char_pattern = "(.{6}$)";
public static String maskSSN(String ssn) {
if(ssn == null || "".equals(ssn) || ssn.length() < 6)
return ssn;
return ssn.replaceAll(last_6_char_pattern, "******");
}
테스트 결과
주민번호 : 1234567890123 ==> 1234567******
주민번호 : 123456-7890123 ==> 123456-7******
'지식정보' 카테고리의 다른 글
Oracle FETCH (0) | 2020.05.11 |
---|---|
[JAVA] 정규식 카드번호 마스킹처리 (0) | 2019.07.16 |
[JAVA] 정규식 이메일 마스킹 처리 (0) | 2019.07.16 |
[JAVA] 정규식 전화번호 마스킹 처리 (0) | 2019.07.16 |
[JAVA] 문자열에서 숫자만 추출 (2) | 2019.06.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday