类 BankCheckUtils
java.lang.Object
dev.utils.common.validator.BankCheckUtils
detail: 银行卡管理工具类
- 作者:
- AbrahamCaiJin, Ttt
当你输入信用卡号码的时候, 有没有担心输错了而造成损失呢, 其实可以不必这么担心 因为并不是一个随便的信用卡号码都是合法的, 它必须通过 Luhn 算法来验证通过 该校验的过程: 1、从卡号最后一位数字开始, 逆向将奇数位 (1、3、5 等等 ) 相加 2、从卡号最后一位数字开始, 逆向将偶数位数字, 先乘以 2 ( 如果乘积为两位数, 则将其减去 9), 再求和 3、将奇数位总和加上偶数位总和, 结果应该可以被 10 整除 例如, 卡号是: 5432123456788881 则奇数、偶数位 ( 用红色标出 ) 分布: 5432123456788881 奇数位和 = 35 偶数位乘以 2 ( 有些要减去 9) 的结果: 1 6 2 6 1 5 7 7, 求和 = 35 最后 35 + 35 = 70 可以被 10 整除, 认定校验通过
-
方法概要
修饰符和类型方法说明static booleancheckBankCard(String cardId) 校验银行卡卡号是否合法static chargetBankCardCheckCode(String nonCheckCodeCardId) 从不含校验位的银行卡卡号采用 Luhn 校验算法获取校验位static StringgetNameOfBank(String cardBin) 通过银行卡的 前六位确定 判断银行开户行及卡种
-
方法详细资料
-
checkBankCard
校验银行卡卡号是否合法- 参数:
cardId- 待校验银行卡号- 返回:
trueyes,falseno
-
getBankCardCheckCode
从不含校验位的银行卡卡号采用 Luhn 校验算法获取校验位- 参数:
nonCheckCodeCardId- 待校验银行卡号- 返回:
- 银行卡校验位
-
getNameOfBank
通过银行卡的 前六位确定 判断银行开户行及卡种- 参数:
cardBin- 待校验银行卡号- 返回:
- 银行开户行及卡种
-