銀行卡Luhm校驗演算法

2021-07-29 13:39:28 字數 1615 閱讀 5994

if(val.length>= 16) $/);

if(val.length== 19) $/);

}if(!pattern.exec(val))

else

vararrjishu=newarray(); //奇數字*2的積 <9

vararrjishu2=newarray(); //奇數字*2的積 >9

vararroushu=newarray(); //偶數字陣列

for(varj=0;j

else//偶數字

arroushu.push(newarr[j]);

}varjishu_child1=newarray();//奇數字*2 >9 的分割之後的陣列個位數

varjishu_child2=newarray();//奇數字*2 >9 的分割之後的陣列十位數

for(varh=0;h

varsumjishu=0; //奇數字*2 < 9 的陣列之和

varsumoushu=0; //偶數字陣列之和

varsumjishuchild1=0; //奇數字*2 >9 的分割之後的陣列個位數之和

varsumjishuchild2=0; //奇數字*2 >9 的分割之後的陣列十位數之和

varsumtotal=0;

for(varm=0;m

for(varn=0;n

for(varp=0;p

//計算總和

sumtotal=parseint(sumjishu)+parseint(sumoushu)+parseint(sumjishuchild1)+parseint(sumjishuchild2);

//計算luhm值

vark= parseint(sumtotal)%10==0?10:parseint(sumtotal)%10;

varluhm= 10-k;

if(lastnum==luhm)

else

}}else

銀行卡luhm校驗演算法

1 2 15位銀行卡luhm校驗演算法 3 1 從卡號最後一位數字開始,逆向將奇數字 1 3 5等等 相加。4 2 從卡號最後一位數字開始,逆向將偶數字數字,先乘以2 如果乘積為兩位數,則將其減去9 再求和。5 3 將奇數字總和加上偶數字總和,結果應該可以被10整除。6 param temp 前15...

銀行卡的校驗

銀行卡號一般是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方程計算得出...