论文部分内容阅读
【摘 要】在学生资助工作中,为提高银行卡号录入正确性与工作效率,可以采用Excel中的函数与公式,基于Luhn算法,进而实现银行卡号批量校验。
【关键词】学生资助 银行卡号 Excel 批量校验 Luhn算法
在学生资助管理工作中,经常出现学生银行卡号填报错误导致的奖学金、助学金、勤工助学工资发放失败。如果能够有效的对银行卡号进行校验,及时发现错误。不仅可以提高银行卡号录入的准确性,也可以大大地提升管理人员的工作效率。考虑到在日常学生资助报表中经常使用的软件是Microsoft Office Excel,在此具体讨论如何使用Excel的函数与公式实现银行卡号正确性的批量校验工作。
一、行业标准与算法概述
根据中国人民银行颁布的《银行卡发卡行标识代码及卡号》相关规定,标识发卡机构和持卡人信息的号码由发卡行标识代码、自定义位和校验位组成。校验位计算根据的是Luhn计算模10“隔位2倍加”校验数的公式。目前常见的银行卡号的组成及校验位生成规则如下表所示
表1
使用Luhn计算校验位需要经过三步:
(1)从右至左(不含校验位)排序,将奇数位出现的数字分别乘以2;
(2)如果乘2得出的结果是两位数(大于或等于10),将两位数字相加取一位数字。
(3)将得到的数字累加和与偶数位数字累加和相加,以10为模取余数,最后用10减去余数即为校验位数字。
根据Luhn算法计算表1中银行卡号校验位的步骤如下表所示:
表2
将累加和51模10的余数1,10减去1的校验位数字为9。经检查,该银行卡号校验位数字为9,则显示录入正确。
二、在Excel中实现Luhn算法
在Excel中验证银行卡号录入正确性,也就是由银行卡号除校验位以外的部分计算校验位并与录入卡号校验位比对。相符,录入正确,反之,录入有误。因此,可以在Excel中的分两步实现基于Luhn算法的校验功能。考虑到当前学生资助工作中使用的银行卡号均为18位,在此以18位银行卡号的验证为例。
三、结束语
在Excel中实现基于Luhn算法的银行卡号批量校验功能,方法简单,实现效果好,极大的提高了学生资助管理工作效率。本文仅是以常见的18位银行卡号为例,进行了简单的探讨。在此基础上,还可以进一步改进公式或使用VBA实现程序验证,将更加有效的对输入的银行卡号进行正确性验证,有助于提高学生资助管理工作效率。
参考文献:
[1]中国人民银行.JR/T 0008-2000,中华人民共和国金融行业标准,2000
[2]百度百科.Luhn[EB/OL].http://baike.baidu.com/view/7893503.htm,2014
[3]王凯.使用Excel提取身份证号码信息初探[J],家教世界,2012(08)
作者简介:王凯(1982-),男,河南新乡人,学士,新乡职业技术学院,讲师。
【关键词】学生资助 银行卡号 Excel 批量校验 Luhn算法
在学生资助管理工作中,经常出现学生银行卡号填报错误导致的奖学金、助学金、勤工助学工资发放失败。如果能够有效的对银行卡号进行校验,及时发现错误。不仅可以提高银行卡号录入的准确性,也可以大大地提升管理人员的工作效率。考虑到在日常学生资助报表中经常使用的软件是Microsoft Office Excel,在此具体讨论如何使用Excel的函数与公式实现银行卡号正确性的批量校验工作。
一、行业标准与算法概述
根据中国人民银行颁布的《银行卡发卡行标识代码及卡号》相关规定,标识发卡机构和持卡人信息的号码由发卡行标识代码、自定义位和校验位组成。校验位计算根据的是Luhn计算模10“隔位2倍加”校验数的公式。目前常见的银行卡号的组成及校验位生成规则如下表所示
表1
使用Luhn计算校验位需要经过三步:
(1)从右至左(不含校验位)排序,将奇数位出现的数字分别乘以2;
(2)如果乘2得出的结果是两位数(大于或等于10),将两位数字相加取一位数字。
(3)将得到的数字累加和与偶数位数字累加和相加,以10为模取余数,最后用10减去余数即为校验位数字。
根据Luhn算法计算表1中银行卡号校验位的步骤如下表所示:
表2
将累加和51模10的余数1,10减去1的校验位数字为9。经检查,该银行卡号校验位数字为9,则显示录入正确。
二、在Excel中实现Luhn算法
在Excel中验证银行卡号录入正确性,也就是由银行卡号除校验位以外的部分计算校验位并与录入卡号校验位比对。相符,录入正确,反之,录入有误。因此,可以在Excel中的分两步实现基于Luhn算法的校验功能。考虑到当前学生资助工作中使用的银行卡号均为18位,在此以18位银行卡号的验证为例。
三、结束语
在Excel中实现基于Luhn算法的银行卡号批量校验功能,方法简单,实现效果好,极大的提高了学生资助管理工作效率。本文仅是以常见的18位银行卡号为例,进行了简单的探讨。在此基础上,还可以进一步改进公式或使用VBA实现程序验证,将更加有效的对输入的银行卡号进行正确性验证,有助于提高学生资助管理工作效率。
参考文献:
[1]中国人民银行.JR/T 0008-2000,中华人民共和国金融行业标准,2000
[2]百度百科.Luhn[EB/OL].http://baike.baidu.com/view/7893503.htm,2014
[3]王凯.使用Excel提取身份证号码信息初探[J],家教世界,2012(08)
作者简介:王凯(1982-),男,河南新乡人,学士,新乡职业技术学院,讲师。