600 Stimmen

Wie kann man den Kreditkartentyp anhand der Nummer erkennen?

Ich versuche herauszufinden, wie ich die Art der Kreditkarte allein anhand ihrer Nummer erkennen kann. Kennt jemand eine eindeutige, zuverlässige Methode, um dies herauszufinden?

1voto

OhhhThatVarun Punkte 3381

Versuchen Sie dies für Kotlin. Fügen Sie Regex und fügen Sie die wenn-Anweisung.

private fun getCardType(number: String): String {

        val visa = Regex("^4[0-9]{12}(?:[0-9]{3})?$")
        val mastercard = Regex("^5[1-5][0-9]{14}$")
        val amx = Regex("^3[47][0-9]{13}$")

        return when {
            visa.matches(number) -> "Visa"
            mastercard.matches(number) -> "Mastercard"
            amx.matches(number) -> "American Express"
            else -> "Unknown"
        }
    }

0voto

rajan Punkte 9

Die Regeln für reguläre Ausdrücke, die auf die die jeweiligen Kartenverkäufer :

  • (4\d{12}(?:\d{3})?) für VISA.
  • (5[1-5]\d{14}) für MasterCard.
  • (3[47]\d{13}) für AMEX.
  • ((?:5020|5038|6304|6579|6761)\d{12}(?:\d\d)?) für Maestro.
  • (3(?:0[0-5]|[68][0-9])[0-9]{11}) für Diners Club.
  • (6(?:011|5[0-9]{2})[0-9]{12}) für Discover.
  • (35[2-8][89]\d\d\d{10}) für JCB.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X