银行卡号Luhn校验算法的JS实现
摘 要:
摘 要:随着互联网技术的不断发展与普及,作为电子商务的一部分,网上支付越来越受到人们的关注。在系统开发过程中时,如何准确的录入银行卡号十分关键。使用JavaScript设计一段基于Luhn校验算法的脚本,通过浏览器客户端实现验证,有助于快捷、高效的完成支付。
关键词:
关键词:网上支付 银行卡号 JavaScript Luhn算法
在网上支付系统、学生在线资助管理系统等基于B/S的信息管理系统中,如果能够在浏览器端进行有效的银行卡号验证,及时发现错误并给出提示,将不仅有助于提高系统的交互性、提升信息录入的准确性,也将大大减轻服务器的工作压力。在此,讨论一种使用JavaScript脚本语言,基于Luhn校验算法的银行卡号验证方法。
1 JavaScript
JavaScript作为一种常用的解释性脚本语言,广泛应用于客户端,主要用来给HTML网页增加动态功能,实现交互行为。
不同于服务器端脚本语言,JavaScript主要在用户的浏览器上运行并直接显示结果,不需要服务器的支持。这就大大地减轻了服务器的负担,减少了服务器与客户端交互时所需要的带宽占用量。随着计算机网络技术的不断发展,JavaScript客户端脚本语言所能实现的功能也越来越强大,得到了越来越广泛的应用。
2 Luhn校验算法
根据中国人民银行在其颁布的《银行卡发卡行标识代码及卡号》相关规定,标识发卡机构和持卡人信息的号码由发卡行标识代码、自定义位和校验位三部分组成。校验位计算根据的是Luhn计算模10“隔位2倍加”校验数的公式。
Luhn算法是一种主要用来计算银行卡等证件号码合法性的校验算法,其主要计算思路分三步。第一,从卡号最后一位数字开始,将偶数位数字乘以2。如果乘以2的结果是两位数,将该两位数的个、十位数字相加保存,奇数位数字不变。第二,把所有数字相加,求得总和。第三,如果上述求得的总和可以被10整除,则该银行卡号码验证合法;反之,验证失败。
3 算法实现
根据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脚本语言编写并实现基于Luhn校验算法的银行卡号校验功能,方法较为简单,实现效果好。同时,将验证工作在用户浏览器端完成,,也能极大地降低服务器的负担,提高整个B/S信息管理系统的工作效率。其实,在使用计算机处理信息的过程中,还能将Luhn校验算法应用于C/S系统或借助VBA技术应用到Office办公中,必将更加全面、有效的对银行卡号进行正确性验证,显著提高信息处理的效率。
参考文献
[1]刘志勇.JavaScript从入门到精通[M].北京:化学工业出版社,2009.
[2]中国人民银行.JR/T 0008-2000,中华人民共和国金融行业标准,2000.
[3]百度百科.JavaScript[EB/OL]. ,2014.
[4]百度百科.Luhn[EB/OL].,2014.
[5]王凯.基于Luhn算法的银行卡号批量校验[J].数字化用户,2014(13).
本文编号:14546
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/14546.html