package javacodebook.regex.credit; import java.util.regex.Pattern; /** * Testen, ob eine Kreditkartennummer ein gültiges Format hat. */ public class CreditCardChecker { public static void main(String[] args) { if (args.length == 0) printUsage(); String pattern = "(4\\d{3}[- ?]\\d{4}[- ]?\\d{4}-?\\d)" + // Visa "|" + // oder "(5[1-5]\\d{2}[- ]?\\d{4}[- ]?\\d{4}[- ]?\\d{4})" + // Master "|" + // oder "(3[068]\\d{2}[- ]?\\d{4}[- ]?\\d{4}[- ]?\\d{2})" + // Diners "|" + // oder "(3[47]\\d{2}[- ]?\\d{4}[- ]?\\d{4}[- ]?\\d{3})"; // Express System.out.print("'" + args[0] + "' ist "); if (Pattern.matches(pattern, args[0])) System.out.println("gültig"); else System.out.println("nicht gültig"); } private static void printUsage() { System.out.println("Aufruf: java javacodebook.regex.credit.CreditCardChecker "); System.exit(0); } }