銀行卡號Luhn校驗算法的JS實現(xiàn)
摘 要:
摘 要:隨著互聯(lián)網(wǎng)技術的不斷發(fā)展與普及,作為電子商務的一部分,網(wǎng)上支付越來越受到人們的關注。在系統(tǒng)開發(fā)過程中時,如何準確的錄入銀行卡號十分關鍵。使用JavaScript設計一段基于Luhn校驗算法的腳本,通過瀏覽器客戶端實現(xiàn)驗證,有助于快捷、高效的完成支付。
關鍵詞:
關鍵詞:網(wǎng)上支付 銀行卡號 JavaScript Luhn算法
在網(wǎng)上支付系統(tǒng)、學生在線資助管理系統(tǒng)等基于B/S的信息管理系統(tǒng)中,如果能夠在瀏覽器端進行有效的銀行卡號驗證,及時發(fā)現(xiàn)錯誤并給出提示,將不僅有助于提高系統(tǒng)的交互性、提升信息錄入的準確性,也將大大減輕服務器的工作壓力。在此,討論一種使用JavaScript腳本語言,基于Luhn校驗算法的銀行卡號驗證方法。
1 JavaScript
JavaScript作為一種常用的解釋性腳本語言,廣泛應用于客戶端,主要用來給HTML網(wǎng)頁增加動態(tài)功能,實現(xiàn)交互行為。
不同于服務器端腳本語言,JavaScript主要在用戶的瀏覽器上運行并直接顯示結果,不需要服務器的支持。這就大大地減輕了服務器的負擔,減少了服務器與客戶端交互時所需要的帶寬占用量。隨著計算機網(wǎng)絡技術的不斷發(fā)展,JavaScript客戶端腳本語言所能實現(xiàn)的功能也越來越強大,得到了越來越廣泛的應用。
2 Luhn校驗算法
根據(jù)中國人民銀行在其頒布的《銀行卡發(fā)卡行標識代碼及卡號》相關規(guī)定,標識發(fā)卡機構和持卡人信息的號碼由發(fā)卡行標識代碼、自定義位和校驗位三部分組成。校驗位計算根據(jù)的是Luhn計算模10“隔位2倍加”校驗數(shù)的公式。
Luhn算法是一種主要用來計算銀行卡等證件號碼合法性的校驗算法,其主要計算思路分三步。第一,從卡號最后一位數(shù)字開始,將偶數(shù)位數(shù)字乘以2。如果乘以2的結果是兩位數(shù),將該兩位數(shù)的個、十位數(shù)字相加保存,奇數(shù)位數(shù)字不變。第二,把所有數(shù)字相加,求得總和。第三,如果上述求得的總和可以被10整除,則該銀行卡號碼驗證合法;反之,驗證失敗。
3 算法實現(xiàn)
根據(jù)Luhn校驗算法原理,設計JavaScript腳本語言代碼主要如下所示:
function checkID(){
var id=document.frmMain.txtID.value;
var idLen=id.length;
if(idLen==0){
alert("卡號不得為空");
return false;
}
else{
var sum=0;
var count=0;
var num;
for(i=idLen-1;i>=0;i--){
num=parseInt(id.charAt(i));
count++;
if(count%2==0){
num*=2;
if(num>9){
num=num%10+Math.floor(num/10);
}}
sum+=num;
}}
if(sum%10==0){
alert("驗證通過");
return true;
}
else{
alert("驗證錯誤");
return false;
}}
4 結語
利用JavaScript腳本語言編寫并實現(xiàn)基于Luhn校驗算法的銀行卡號校驗功能,方法較為簡單,實現(xiàn)效果好。同時,將驗證工作在用戶瀏覽器端完成,,也能極大地降低服務器的負擔,提高整個B/S信息管理系統(tǒng)的工作效率。其實,在使用計算機處理信息的過程中,還能將Luhn校驗算法應用于C/S系統(tǒng)或借助VBA技術應用到Office辦公中,必將更加全面、有效的對銀行卡號進行正確性驗證,顯著提高信息處理的效率。
參考文獻
[1]劉志勇.JavaScript從入門到精通[M].北京:化學工業(yè)出版社,2009.
[2]中國人民銀行.JR/T 0008-2000,中華人民共和國金融行業(yè)標準,2000.
[3]百度百科.JavaScript[EB/OL]. ,2014.
[4]百度百科.Luhn[EB/OL].,2014.
[5]王凱.基于Luhn算法的銀行卡號批量校驗[J].數(shù)字化用戶,2014(13).
本文編號:14546
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/14546.html