Маскировка ввода для номера кредитной карты в java - PullRequest
0 голосов
/ 30 января 2012

Я хочу замаскировать свою форму ввода для номера кредитной карты следующим образом:

Введите номер своей кредитной карты: 411111 ******1111* 1004 *

Таккак ввод пароля, но только частично.

Я использую Icefaces для платформы.если я использую ace:maskedEntry, то меняю только формат данных, а не текст, который я должен ввести.

Заранее спасибо и извините за мой плохой английский.

1 Ответ

0 голосов
/ 27 июня 2019

Если вы хотите замаскировать номер кредитной карты, вы можете использовать метод подстроки java.

public class MaskCard{

public static void main(String[] args) {
    String cardNum = "4111110065031111";
    final int STARTLENGTH = 6;   //first digit of card you don't want to mask
    final int ENDLENGTH = 4;    //last digit of card you don't want to mask
    int maskedLength = cardNum.length() - (STARTLENGTH + ENDLENGTH);
    System.out.println(maskedLength);
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < maskedLength; i++) {
        sb.append("*");
    }
    String maskedCard = cardNum.substring(0, STARTLENGTH) + sb + cardNum.substring(cardNum.length() - ENDLENGTH, cardNum.length());
    System.out.println(maskedCard);
}

}
...