/*
* Commons eID Project.
* Copyright (C) 2012-2013 FedICT.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License version
* 3.0 as published by the Free Software Foundation.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, see
* http://www.gnu.org/licenses/.
*/
package be.fedict.commons.eid.consumer.text;
/**
*
* @author Frank Marien
*/
public class Format {
private Format() {
super();
}
// format a national number into YY.MM.DD-S&G.CS
public static String formatNationalNumber(final String nationalNumber) {
// YY MM DD S&G CS
// 01 23 45 678 9A
final StringBuilder formatted = new StringBuilder(
nationalNumber.substring(0, 2));
formatted.append('.');
formatted.append(nationalNumber.substring(2, 4));
formatted.append('.');
formatted.append(nationalNumber.substring(4, 6));
formatted.append('-');
formatted.append(nationalNumber.substring(6, 9));
formatted.append('.');
formatted.append(nationalNumber.substring(9));
return formatted.toString();
}
/*
* format a card number into XXX-YYYYYYYY-ZZ
*/
public static String formatCardNumber(final String cardNumber) {
final StringBuilder formatted = new StringBuilder();
if (cardNumber.length() == 10 && cardNumber.startsWith("B")) {
// B 0123456 78
formatted.append(cardNumber.substring(0, 1));
formatted.append(' ');
formatted.append(cardNumber.substring(1, 7));
formatted.append(' ');
formatted.append(cardNumber.substring(8));
} else if (cardNumber.length() == 12) {
// 012-3456789-01
formatted.append(cardNumber.substring(0, 3));
formatted.append('-');
formatted.append(cardNumber.substring(3, 10));
formatted.append('-');
formatted.append(cardNumber.substring(10));
} else {
formatted.append(cardNumber);
}
return formatted.toString();
}
}