
Kreditkarten-Regex-Java-Validator
Der Kreditkarten-Regex-Java-Validator ermöglicht es Ihnen, sofort zu überprüfen, ob eine Kreditkartennummer gängigen Mustern für Kartentypen wie Visa, MasterCard, AMEX und mehr mit Java-regex entspricht. Dies ist entscheidend in Zahlungssystemen, Anmeldeformularen und E-Commerce-Anwendungen.
Probieren Sie weitere Java-basierte Tools zur Eingabevalidierung:
Kreditkarten-Regex-Java-Validator, Dokumentation
Was ist ein Kreditkarten-Regex?
Kreditkartennummern folgen strengen Formatierungsstandards, die von Kartennetzwerken definiert werden. Ein Kreditkarten-regex stellt sicher, dass die Nummernstruktur dem erwarteten Format entspricht, bevor eine weitere Überprüfung wie der Luhn-Algorithmus erfolgt.
Jeder Kartentyp hat eine eindeutige Anfangsziffer und Länge:
Kartentyp | Beginnt mit | Länge |
|---|---|---|
Visa | 4 | 13 oder 16 |
MasterCard | 51-55 oder 2221-2720 | 16 |
AMEX | 34 oder 37 | 15 |
Die wichtigsten Kartentypen auf einen Blick:
Visa: 13 oder 16 Stellen, beginnt immer mit 4.
MasterCard: 16 Stellen, beginnt mit 51 bis 55 oder einer Zahl zwischen 2221 und 2720.
Discover: 16 Stellen, beginnt mit 6011 oder 65.
American Express: 15 Stellen, beginnt mit 34 oder 37.
Diners Club: 14 Stellen, beginnt mit 300-305, 36 oder 38.
JCB: 15 Stellen beginnen mit 2131 oder 1800, oder 16 Stellen beginnen mit 35.
Java-Regex-Muster für Kreditkarten
Visa:
^4[0-9]{12}(?:[0-9]{3})?$Mastercard:
^5[1-5][0-9]{14}|^2(2[2-9][0-9]{2}|[3-6][0-9]{3}|7([01][0-9]{2}|20))[0-9]{12}$American Express:
^3[47][0-9]{13}$Diese Muster prüfen nur die Struktur, nicht die tatsächliche Kartengültigkeit.
Java-Code-Beispiel
import java.util.regex.Pattern; import java.util.regex.Matcher;public class CreditCardValidator { public static void main(String[] args) { String visaCard = "4111111111111111"; String visaPattern = "^4[0-9]{12}(?:[0-9]{3})?$";
Pattern pattern = Pattern.compile(visaPattern); Matcher matcher = pattern.matcher(visaCard); if (matcher.matches()) { System.out.println("Valid Visa card number"); } else { System.out.println("Invalid Visa card number"); } }
}
Für die gleichzeitige Überprüfung mehrerer Kartennummern, etwa bei der Validierung einer Datei mit Benutzeranmeldungen oder der Batch-Verarbeitung von Zahlungen, macht Java-regex den Prozess effizient:
Liste mit Kartennummern erstellen: Speichern Sie Ihre Kartennummern in einer Java-
List.Kombinierten Regex definieren: Erstellen Sie einen einzelnen regex, der gängige Formate für Visa, MasterCard, Discover, AMEX, Diners Club und JCB abdeckt.
Iterieren und verifizieren: Durchlaufen Sie jede Karte, bereinigen Sie die Formatierung (z. B. Bindestriche entfernen) und prüfen Sie gegen das regex-Muster.
Profi-Tipp: Bereinigen Sie die Eingabe immer zuerst, indem Sie Leerzeichen oder Bindestriche entfernen, die Benutzer zur besseren Lesbarkeit eingeben könnten.
Luhn-Algorithmus: Kreditkartennummern in Java verifizieren
Regex stellt sicher, dass eine Kartennummer korrekt aussieht, aber wie prüfen Sie, ob die Nummer tatsächlich gültig sein könnte? Hier kommt der Luhn-Algorithmus ins Spiel, eine eingebaute Prüfsummenmethode, die von Kreditkartennetzwerken verwendet wird, um versehentliche Tippfehler und die meisten gefälschten Nummern abzufangen.
So funktioniert er in Java:
Beginnen Sie von der rechtesten Stelle und gehen Sie nach links, verdoppeln Sie jede zweite Stelle.
Wenn die Verdoppelung einer Stelle ein Ergebnis über 9 liefert, subtrahieren Sie 9 davon.
Addieren Sie alle Stellen.
Wenn die Gesamtsumme modulo 10 gleich null ist, ist die Nummer gültig.
Eine einfache Java-Methode für die Luhn-Validierung:
public class LuhnValidator {
public static boolean isValid(String ccNumber) {
int sum = 0;
boolean alternate = false;
for (int i = ccNumber.length() - 1; i >= 0; i--) {
int n = Character.getNumericValue(ccNumber.charAt(i));
if (alternate) {
n *= 2;
if (n > 9) {
n -= 9;
}
}
sum += n;
alternate = !alternate;
}
return (sum % 10 == 0);
}
}Beispieleingaben
Gültig:
Visa: 4111111111111111
MasterCard: 5555555555554444
AMEX: 371449635398431
Ungültig:
1234567890123456 (ungültiges Präfix)
411111111111111 (falsche Länge)
abcdefg12345678 (nicht-numerische Zeichen)
Anwendungsfälle
Checkout-Formulare: Kreditkartenformat vor API-Aufrufen validieren.
Benutzer-Onboarding: Kartenformat während der Einrichtung prüfen.
Betrugsprävention: Offensichtlich gefälschte Kartennummern schnell ablehnen.
Datenbereinigung: Gespeicherte Kartennummern in Protokollen oder Datenbanken validieren.
Weitere häufige Regex-Anwendungsfälle in Java
E-Mail-Adressen: Sicherstellen, dass Benutzer korrekt formatierte Adressen angeben.
Postleitzahlen: Formate für Länder wie USA, Kanada oder UK validieren.
Telefonnummern: Gültige Muster für nationale und internationale Formate prüfen.
Passwörter: Komplexitätsregeln durchsetzen, Mindestlänge und Zeichenmix.
Datumsangaben: Bestätigen, dass Daten in akzeptierten Formaten wie YYYY-MM-DD eingegeben werden.
Profi-Tipps
Speichern Sie niemals rohe Kartennummern. Verwenden Sie einen Hash-Generator oder einen sicheren Tokenisierungsdienst.
Kombinieren Sie regex-Prüfungen immer mit dem Luhn-Algorithmus für die eigentliche Kartennummernvalidierung.
Verlassen Sie sich bei der Betrugserkennung nicht allein auf regex, es dient der Formatvalidierung, nicht der Legitimität.
Bereinigen Sie die Eingabe, indem Sie Leerzeichen oder Bindestriche vor dem regex-Abgleich entfernen.
Passen Sie regex an, wenn Sie nur bestimmte Kartentypen unterstützen (z. B. Visa + MasterCard).
Kombinieren mit diesen Tools
Passwort-Regex-Java-Validator: Sichere Passwortvalidierung in Anmeldeabläufen hinzufügen.
Java-Regex-Tester: Regex-Varianten für andere Kartentypen bearbeiten oder testen.
Token-Generator: Sichere Zahlungs-Session-Tokens generieren.
Base64 Encoder: Kreditkarten-Tokens für die sichere Übertragung kodieren.
Frequently Asked Questions
Wird damit geprüft, ob die Karte echt ist?
Kann ich ein Muster für alle Kartentypen verwenden?
Gibt es einen Unterschied zwischen 13- und 16-stelligen Visa-Karten?
Kann ich formatierte Eingaben wie 4111-1111-1111-1111 validieren?
Sollte ich auch Ablaufdatum und CVV prüfen?
Related Articles



Testen Sie Ihre APIs noch heute!
Schreiben Sie auf Deutsch, Qodex verwandelt es in sichere, sofort ausführbare Tests.



