类 BankCheckUtils
- java.lang.Object
-
- dev.utils.common.validator.BankCheckUtils
-
public final class BankCheckUtils extends java.lang.Objectdetail: 银行卡管理工具类- 作者:
- 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(java.lang.String cardId)校验银行卡卡号是否合法static chargetBankCardCheckCode(java.lang.String nonCheckCodeCardId)从不含校验位的银行卡卡号采用 Luhn 校验算法获取校验位static java.lang.StringgetNameOfBank(java.lang.String cardBin)通过银行卡的 前六位确定 判断银行开户行及卡种
-
-
-
方法详细资料
-
checkBankCard
public static boolean checkBankCard(java.lang.String cardId)
校验银行卡卡号是否合法- 参数:
cardId- 待校验银行卡号- 返回:
trueyes,falseno
-
getBankCardCheckCode
public static char getBankCardCheckCode(java.lang.String nonCheckCodeCardId)
从不含校验位的银行卡卡号采用 Luhn 校验算法获取校验位- 参数:
nonCheckCodeCardId- 待校验银行卡号- 返回:
- 银行卡校验位
-
getNameOfBank
public static java.lang.String getNameOfBank(java.lang.String cardBin)
通过银行卡的 前六位确定 判断银行开户行及卡种- 参数:
cardBin- 待校验银行卡号- 返回:
- 银行开户行及卡种
-
-