마스킹처리 정규식 참고

h블로그·2021년 12월 22일
0

개인정보 보안요건때문에 건물번호와 상세주소를 마스킹처리 해야했다.

참고 사이트에서 확인한 정규식에서 약간만 수정했음

source

private static String getAddressMask(String value) {
        String regex = "(([가-힣]+(d|d(,|.)d|\\d|)+(읍|면|동|가|리))(^구|)((d(~|-)d|d)(가|리|)|))([ ](산(d(~|-)d|d))|)|(([가-힣]|(d(~|-)d)|d|\\d)+(로|길))";
        Matcher matcher = Pattern.compile(regex).matcher(value);

        if(matcher.find()) {
            String mainAddress = value.substring(0, matcher.end());
            String detailAddress = value.substring(matcher.end());
            return mainAddress + detailAddress.replaceAll("\\S", "*");
        }
        return value;
    }

result 예시

fullAddress":"경기도 김포시 청송로 ***"
"fullAddress":"경기 용인시 수동지구 풍덕천동 **** ***** **** ****"
"fullAddress":"서울 강남구 강남대로33길 ** ****** **"

참고 https://techblog.woowahan.com/2505/

profile
😎🙈🙈🙈🤓

0개의 댓글