js判斷銀行卡號

2021-07-11 19:16:39 字數 1083 閱讀 8214

/***判斷是否為正確的銀行卡號,正確返回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整除,則這個...