Skip to content

Instantly share code, notes, and snippets.

@ChangJoo-Park
Last active March 8, 2018 02:07
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ChangJoo-Park/95a889b9234e85a04ed389fa8ab4ebaf to your computer and use it in GitHub Desktop.
Save ChangJoo-Park/95a889b9234e85a04ed389fa8ab4ebaf to your computer and use it in GitHub Desktop.
처음 일부분만 보여주고 나머지는 * 로 마스킹
public class Main {
public static void main(String[] args) {
System.out.println(maskString("ChangJoo Park", 3, '*'));
}
public static String maskString(String targetString, int numberOfPrefix, char maskCharacter) {
int stringLength = targetString.length();
int postfixLength = stringLength - numberOfPrefix;
if (stringLength < numberOfPrefix) {
return targetString;
}
String prefix = targetString.substring(0, numberOfPrefix);
if (postfixLength <= 0) {
return prefix;
}
String postfix = new String(new char[postfixLength]).replace('\0', maskCharacter);
return prefix.concat(postfix);
}
}
@ChangJoo-Park
Copy link
Author

@fobidlim
Copy link

fobidlim commented Mar 8, 2018

Display masked email ID only

 private static final String REGEX_EMAIL = "[a-zA-Z0-9\\+\\.\\_\\%\\-\\+]{1,256}" +
            "\\@" +
            "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}" +
            "(" +
            "\\." +
            "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25}" +
            ")+";

public String mask(final String targetString, final int numberOfPrefix, final char maskCharacter) {
        String targetTemp = targetString;

        if (targetTemp.matches(REGEX_EMAIL)) {
            targetTemp = targetTemp.substring(0, targetTemp.indexOf('@'));
        }

        int stringLength = targetTemp.length();
        int postfixLength = stringLength - numberOfPrefix;

        if (stringLength < numberOfPrefix) {
            return new String(new char[stringLength]).replace('\0', maskCharacter);
        }

        String prefix = targetTemp.substring(0, numberOfPrefix);

        if (postfixLength <= 0) {
            return prefix;
        }

        String postfix = new String(new char[postfixLength]).replace('\0', maskCharacter);
        return prefix.concat(postfix);
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment