I use this java code to mark a long number:
public static String masked(String card_number) {
return new StringBuilder().append(card_number.substring(0, 4)).append("....")
.append(card_number.substring(card_number.length() - 3, card_number.length())).toString();
}
public static String maskedBin(String card_number) {
return new StringBuilder().append(card_number.substring(0, 4)).toString();
}
public static String maskedTail(String card_number) {
return new StringBuilder().append(card_number.substring(card_number.length() - 3, card_number.length())).toString();
}
Unfortunately when I send very short number I get exception: java.lang.StringIndexOutOfBoundsException: begin 0, end 4, length 1
Is there some way to prevent this? For example if there is no minimum required number length to return error?