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方程計算得出...