/***判斷是否為正確的銀行卡號,正確返回true,否則返回false
*luhm校驗規則:16位銀行卡號(19位通用):
*1.將未帶校驗位的 15(或18)位卡號從右依次編號 1 到 15(18),位於奇數字型大小上的數字乘以 2。
*2.將奇位乘積的個十位全部相加,再加上所有偶數字上的數字。
*3.將加法和加上校驗位能被 10 整除。
*/function luhmcheck(bankno)
var num = /^\d*$/; //全數字
if (!num.exec(bankno))
//開頭6位
var strbin="10,18,30,35,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,60,62,65,68,69,84,87,88,94,95,98,99";
if (strbin.indexof(bankno.substring(0, 2))== -1)
var lastnum=bankno.substr(bankno.length-1,1);//取出最後一位(與luhm進行比較)
var first15num=bankno.substr(0,bankno.length-1);//前15或18位
var newarr=new array();
for(var i=first15num.length-1;i>-1;i--)
var arrjishu=new array(); //奇數字*2的積 <9
var arrjishu2=new array(); //奇數字*2的積 >9
var arroushu=new array(); //偶數字陣列
for(var j=0;j9 的分割之後的陣列個位數
var jishu_child2=new array();//奇數字*2 >9 的分割之後的陣列十位數
for(var h=0;h9 的分割之後的陣列個位數之和
var sumjishuchild2=0; //奇數字*2 >9 的分割之後的陣列十位數之和
var sumtotal=0;
for(var m=0;m
js 銀行卡號校驗
示例 luhncheck 62155937000139567 function luhncheck bankno var arrjishu new array 奇數字 2的積 9 var arrjishu2 new array 奇數字 2的積 9 var arroushu new array 偶數字...
銀行卡號規則
答案一 前6位數字為發卡銀行識別號 bin 由iso國際組織統一制定。最後一位是校驗位,由前面組成卡號的十多位數字 常見的iso卡號有13位 16位 19位 通過特定演算法計算。前6位和最後一位之間的數字為金融機構自定義的卡號,有些銀行採用發卡地代號加卡序號的方式編碼 有些銀行的卡則是全國大序列。只...
iOS 銀行卡號合法性判斷
輸入銀行卡號的時候,一般為了卡號的合法性會做乙個判斷,使用了luhn演算法 luhn演算法步驟 1 從卡號的末位開始,逆向將奇數字相加 2 從卡號的末位開始,逆向將偶數字先乘2,如果得到的數為兩位數則減9,再將得到的數求和 3 將奇數字的和與偶數字的和相加得到的數除以10,如果可以被10整除,則這個...