ホームページ  >  記事  >  バックエンド開発  >  クレジット カード チェック デジット アルゴリズムの PHP 実装 THE LUHN MOD-10 example_PHP チュートリアル

クレジット カード チェック デジット アルゴリズムの PHP 実装 THE LUHN MOD-10 example_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:30:17964ブラウズ

ISO 2894 のペイメント カード チェック ディジット アルゴリズムによると、Luhn Mod-10 メソッドでは次のように規定されています。

1. カード番号の各桁に重量を掛けます。ルールは、カード番号の桁数が偶数の場合、最初の桁に 2 を掛け、それ以外の場合は 1 を掛け、1、2、1、2、1、2 とします。
2. 重みを掛けた後に各桁が 9 を超える場合は、9 を減算する必要があります。
4. 処理された重み付けされた数値をすべて加算し、剰余を計算します。そうでない場合は、入力エラーである可能性があります。偽の番号である可能性もあります。
PHP のシンプルな実装により、実際のシナリオでのフロントエンド検証は JS などの方が優れています。

コードをコピー コードは次のとおりです:
function check_card($card){
if (!is_numeric($card)) return False;
$card_len = strlen($card); = 0;
$num_i = array();
if (!$i){
$num_x = $card_len % 2 ? } else {
$num_x = $num_x == 1 ? 2 : 1;
$num_i[$i] = (int)$card[$i] * $num_i[$i] }while(isset($card[++$i]));
$num_sum = array_sum($num_i);
$num_sum % 10 を返します : True;



http://www.bkjia.com/PHPjc/766110.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/766110.html
技術記事 ISO 2894 の Luhn Mod-10 メソッドでは、支払いカードのチェック デジット アルゴリズムに従って次のように規定されています。 1. カード番号の各桁に重量を掛けます。カード番号の桁数が偶数の場合、最初の...

というルールです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。