最近更新了一个项目:关于银行卡匹(根据银行卡号获取开户行以及银行卡类型等信息)。
背景:
当前网络上流传的较多的关于这俄中需求的工具类,大都较为过时,而且代码冗杂,获取到的数据格式也不尽让人满意,遂更了一个工具类。代码中多采用正则表达式作为判断标准,对于安卓开发者可以直接使用BankInfoBean类作为工具类用于自己的项目中,方便,代码也不会显得混乱。
原理:
使用了Luhn检验数字算法(Luhn Check Digit Algorithm),也称作模数10公式。
算法:
将每个奇数加倍和使它变为单个的数字,如果必要的话通过减去9和在每个偶数上加上这些值。如果此卡要有效,那么,结果必须是10的倍数。
在assets文件下分享了几个文件,方便各位的不同开发需求。
一个json类型的文件(bankinfo.txt),大家可以根据该json文件自行扩展;
python校验所需要的文件(bank_card_util.py)
ios开发校验银行卡号的文件(NSString+BankInfo.m)
该项目简单清晰,已经分享在github上,有兴趣的可以了解一下,项目名:BankCardDemo,如果你能star一下,非常感谢。