銀行卡luhm校驗演算法

2022-03-28 08:42:16 字數 658 閱讀 9028

1

/**2

* 15位銀行卡luhm校驗演算法

3* 1、從卡號最後一位數字開始,逆向將奇數字(1、3、5等等)相加。

4* 2、從卡號最後一位數字開始,逆向將偶數字數字,先乘以2(如果乘積為兩位數,則將其減去9),再求和。

5* 3、將奇數字總和加上偶數字總和,結果應該可以被10整除。6*

@param

temp 前15位7*

@return

有效卡返回原卡號,無效卡返回空字串8*/

9public

static

string luhm(string temp) $";//

15 位數字

12if

(temp.matches(reg15nums)) 23}

24 numsum +=num;25}

26int last = (10 - numsum % 10) % 10;

27 result = temp +last;28}

29return

result;

30 }

下面附上16到19位之間的luhm校檢的js**案例

16到19位之間的銀行卡號luhm校驗js**.zip

銀行卡Luhm校驗演算法

if val.length 16 if val.length 19 if pattern.exec val else vararrjishu newarray 奇數字 2的積 9 vararrjishu2 newarray 奇數字 2的積 9 vararroushu newarray 偶數字陣列 f...

銀行卡的校驗

銀行卡號一般是16位或者19位。由如下三部分構成。1,前六位是 發行者標識 2,中間的位數是 個人賬號標識 從卡號第七位開始 一般由6 12位數字組成。最多可以使用12位數字。3,最後一位是 根據卡號前面的數字,採用luhn演算法計算出的最後一位校驗位 public static boolean c...

銀行卡校驗規則

銀行卡號碼,一般是13 19位,由 卡bin 發卡行自定位 校驗位 三部分構成,其中 1 前6位是卡bin,由國際標準化組織分配給從事跨行轉接交換的銀行卡組織 2 發卡機構自定義位由6 12位數字組成,由發卡機構賦予 3 卡號的後1位數字,根據校驗位以前的數字 包括bin 取值按luhn方程計算得出...