Kreditkartenverifizierung mit Regex?

7

Was ist der richtige Weg, um eine Kreditkarte mit einer Regex zu verifizieren? Wenn Sie welche verwenden, gibt es Tonnen online. Wenn nicht, wie zu überprüfen?

    
level20dm 22.09.2009, 23:59
quelle

5 Antworten

6

Wie kann ich Kreditkartennummern verwenden? Leerzeichen enthalten? deckt alles ab, was Sie brauchen sollten.

    
cletus 23.09.2009, 00:02
quelle
13

Siehe diesen Link Kreditkartennummern finden oder überprüfen mit regulären Ausdrücken

  • Visum: ^ 4 [0-9] {12} (?: [0-9] {3})? $ Alle Visa-Kartennummern beginnen mit einer 4. Neue Karten haben 16 Ziffern. Alte Karten haben 13.
  • MasterCard: ^ 5 [1-5] [0-9] {14} $ Alle MasterCard-Nummern beginnen mit den Nummern 51 bis 55. Alle haben 16 Ziffern.
  • American Express: ^ 3 [47] [0-9] {13} $ Kreditkarten von American Express beginnen mit 34 oder 37 und haben 15 Ziffern.
  • Diners Club: ^ 3 (?: 0 [0-5] | [68] [0-9]) [0-9] {11} $ Diners Club Karten beginnen mit 300 bis 305, 36 oder 38. Alle haben 14 Ziffern. Es gibt Diners Club Karten, die mit 5 beginnen und 16 Ziffern haben. Diese sind ein Joint Venture zwischen Diners Club und MasterCard und sollten wie eine MasterCard verarbeitet werden.
  • Discover: ^ 6 (?: 011 | 5 [0-9] {2}) [0-9] {12} $ Discover Kartennummern beginnen mit 6011 oder 65. Alle haben 16 Ziffern.
  • JCB: ^ (?: 2131 | 1800 | 35 \ d {3}) \ d {11} $ JCB-Karten, die mit 2131 oder 1800 beginnen, haben 15 Ziffern. JCB-Karten, die mit 35 beginnen, haben 16 Ziffern.

Tschüss.

    
RRUZ 23.09.2009 00:13
quelle
1

Ich glaube, Sie suchen nach dem Luhn-Algorithmus . Es ist eine einfache Prüfsummenformel, die zur Validierung einer Vielzahl von Identifikationsnummern verwendet wird.

    
csharptest.net 23.09.2009 00:03
quelle
0

Das hängt davon ab, wie genau Ihre Prevalidierung sein soll. Um alles zu validieren, was Sie können, müssen Sie berechnen, was die letzte Ziffer der Karte sein soll und vergleichen Sie mit, was eingegeben wird, was eine RegEx nicht tun kann.

Für den Algorithmus und andere Details siehe diese Verknüpfung , die auch eine Liste mit allgemeinen Zahlenpräfixen enthält, die Sie validieren können gegen.

    
Eric J. 23.09.2009 00:04
quelle
0

- Bearbeiten:

Tatsächlich stimme ich etwas mit mir selbst überein und stimme mit Cletus überein. Validieren Sie so viel wie möglich (ohne Angaben zu bestimmten Arten von Kreditkarten [IMHO]), bevor Sie es versenden. Und es ist selbstverständlich (hoffentlich), dass diese Validierung in JavaScript durchgeführt werden sollte, um es schnell, dann auf dem Server, zu überprüfen (und für JavaScript-behinderte Menschen).

- Vorherige Antwort:

Mach dir keine Sorgen; Lassen Sie den Anbieter dies erst überprüfen, wenn Sie tatsächlich eine Zahlung versuchen. Kein legitimer Grund, es selbst zu überprüfen. Sie können jedoch dies verwenden, wenn Ihnen danach ist.

    
Noon Silk 23.09.2009 00:01
quelle

Tags und Links