Heim  >  Artikel  >  Backend-Entwicklung  >  So überprüfen Sie die Gültigkeit einer Bankkartennummer mithilfe regulärer Ausdrücke in PHP

So überprüfen Sie die Gültigkeit einer Bankkartennummer mithilfe regulärer Ausdrücke in PHP

王林
王林Original
2023-06-24 10:33:241259Durchsuche

Angesichts der häufigen Verwendung von Bankkarten im täglichen Leben der Menschen ist die Gültigkeit von Bankkartennummern zu einem wichtigen Thema geworden. Um die Zahlungssicherheit zu gewährleisten, muss die Gültigkeit der Bankkartennummer überprüft werden. In diesem Artikel wird erläutert, wie Sie reguläre Ausdrücke in PHP verwenden, um die Gültigkeit von Bankkartennummern zu überprüfen.

1. Die Struktur von Bankkartennummern

Bevor wir offiziell vorstellen, wie reguläre Ausdrücke zur Überprüfung der Gültigkeit von Bankkartennummern verwendet werden, müssen wir zunächst die Struktur von Bankkartennummern verstehen. Im Allgemeinen besteht eine Bankkartennummer aus folgenden Teilen:

1. Bankleitzahl der Kartenausgabe: Die Bankleitzahl der Kartenausgabe besteht normalerweise aus 6 Ziffern und dient zur Identifizierung des kartenausgebenden Instituts.

2. Konto-ID: Die Konto-ID besteht in der Regel aus 1 bis 19 Ziffern und dient zur Identifizierung der Einzigartigkeit des Bankkartenkontos.

3. Verifizierungscode: Der Verifizierungscode besteht normalerweise aus einer Ziffer und dient zur Überprüfung der Gültigkeit der Bankkartennummer.

2. Verwenden Sie reguläre Ausdrücke, um die Gültigkeit von Bankkartennummern zu überprüfen.

Nachdem wir die Struktur von Bankkartennummern verstanden haben, können wir reguläre Ausdrücke verwenden, um die Gültigkeit von Bankkartennummern zu überprüfen. Die spezifische Verifizierungsmethode ist wie folgt:

1. Verwenden Sie reguläre Ausdrücke, um Bankkartennummern abzugleichen.

Bankkartennummern bestehen normalerweise aus 16 bis 19 Ziffern, daher können wir zum Abgleich den folgenden regulären Ausdruck verwenden:

/^[1-9]d{15,18}$/

Die Bedeutung dieses regulären Ausdrucks Ja : Beginnend mit den Zahlen 1 bis 9, gefolgt von 15 bis 18 Ziffern, muss die gesamte Zeichenfolge mit dem gesamten Ausdruck übereinstimmen.

2. Berechnen Sie anhand der Prüfziffer, ob die Bankkartennummer gültig ist.

Die Prüfziffer der Bankkartennummer kann mit dem Luhn-Algorithmus berechnet werden. Die spezifische Berechnungsmethode ist wie folgt:

(1) Multiplizieren Sie jede Ziffer von rechts nach links mit zwei.

(2) Addiere die Einer- und Zehnerstellen von Zahlen, deren Produkt größer als 9 ist, um eine neue Zahl zu erhalten.

(3) Addiere alle Zahlen, um eine Summe zu erhalten.

(4) Wenn die Summe durch 10 teilbar ist, ist die Bankkartennummer gültig, andernfalls ist sie ungültig.

Das Folgende ist ein Beispiel für die Verwendung von PHP-Code zur Implementierung der Bankkartennummer-Verifizierung:

function validate_bank_card($bank_card_number) {

if(!preg_match('/^[1-9]d{15,18}$/',$bank_card_number)) {
    return false;
}
$arr_card_number = str_split(strrev($bank_card_number));
$last_number_is_odd = false;
$total = 0;
foreach ($arr_card_number as $key => $value) {
    $num = intval($value);
    if ($last_number_is_odd) {
        $num *= 2;
        $num %= 10;
        $total += $num;
        $last_number_is_odd = false;
    } else {
        $total += $num;
        $last_number_is_odd = true;
    }
}
return ($total % 10) == 0;

}

Der obige Code gibt einen booleschen Wert zurück, wenn die Bankkartennummer gültig ist. Es wird true zurückgegeben, andernfalls wird false zurückgegeben.

3. Zusammenfassung

Das Obige ist eine detaillierte Einführung in die Verwendung regulärer Ausdrücke zur Überprüfung der Gültigkeit von Bankkartennummern in PHP. Die Überprüfung der Gültigkeit von Bankkartennummern ist eine der wichtigsten Maßnahmen zur Zahlungssicherheit, daher ist dieses Thema sehr wichtig. Die Verwendung regulärer Ausdrücke zur Überprüfung der Gültigkeit von Bankkartennummern ist eine sehr einfache, schnelle und zuverlässige Methode und sollte bei der Entwicklung zahlungsbezogener Websites oder Anwendungen häufig verwendet werden.

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie die Gültigkeit einer Bankkartennummer mithilfe regulärer Ausdrücke in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn