Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel für eine PHP-Verifizierung einer Kreditkartennummer

Beispiel für eine PHP-Verifizierung einer Kreditkartennummer

*文
*文Original
2017-12-26 11:13:241549Durchsuche

Wie überprüft PHP, ob ein Problem mit einer Kreditkartennummer vorliegt? In diesem Artikel wird hauptsächlich die PHP-Implementierung des Luhn-Algorithmus zur Überprüfung der Gültigkeit der Kreditkartennummer vorgestellt und die Implementierung des Luhn-Algorithmus in PHP sowie die damit verbundenen Anwendungskenntnisse anhand von Beispielen analysiert. Ich hoffe, es hilft allen.

Die spezifische Implementierungsmethode ist wie folgt:


$numbers = "49927398716 49927398717 1234567812345678 1234567812345670";
foreach (split(' ', $numbers) as $n)
  echo "$n is ", luhnTest($n) ? &#39;valid&#39; : &#39;not valid&#39;, &#39;</br>&#39;;
 
function luhnTest($num) {
  $len = strlen($num);
  for ($i = $len-1; $i >= 0; $i--) {
    $ord = ord($num[$i]);
    if (($len - 1) & $i) {
      $sum += $ord;
    } else {
      $sum += $ord / 5 + (2 * $ord) % 10;
    }
  }   
  return $sum % 10 == 0;
}


Laufergebnisse


49927398716 is valid
49927398717 is not valid
1234567812345678 is not valid
1234567812345670 is valid


Das Folgende ist ein prägnanterer Code:

function luhn_test($num) {
    $str = &#39;&#39;;
    foreach( array_reverse( str_split( $num ) ) as $i => $c ) $str .= ($i % 2 ? $c * 2 : $c );
    return array_sum( str_split($str) ) % 10 == 0;
}
foreach (array(&#39;49927398716&#39;,&#39;49927398717&#39;,&#39;1234567812345678&#39;,&#39;1234567812345670&#39;) as $n)
echo "$n is ", luhn_test($n) ? &#39;valid&#39; : &#39;not valid&#39;, "</br>\n";

Das Ausgabeergebnis ist wie folgt


49927398716 is valid
49927398717 is not valid
1234567812345678 is not valid
1234567812345670 is valid

Verwandte Empfehlungen:

PHP-Code für reguläre Ausdrücke, um festzustellen, ob die IP legal ist

PHP-Funktionscode, um festzustellen, ob der Besucher ein Suchmaschinen-Spider ist

PHP, um festzustellen, ob der Client ist IOS oder Android

Das obige ist der detaillierte Inhalt vonBeispiel für eine PHP-Verifizierung einer Kreditkartennummer. 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