类 BankCheckUtils


  • public final class BankCheckUtils
    extends java.lang.Object
    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 boolean checkBankCard​(java.lang.String cardId)
      校验银行卡卡号是否合法
      static char getBankCardCheckCode​(java.lang.String nonCheckCodeCardId)
      从不含校验位的银行卡卡号采用 Luhn 校验算法获取校验位
      static java.lang.String getNameOfBank​(java.lang.String cardBin)
      通过银行卡的 前六位确定 判断银行开户行及卡种
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 方法详细资料

      • checkBankCard

        public static boolean checkBankCard​(java.lang.String cardId)
        校验银行卡卡号是否合法
        参数:
        cardId - 待校验银行卡号
        返回:
        true yes, false no
      • getBankCardCheckCode

        public static char getBankCardCheckCode​(java.lang.String nonCheckCodeCardId)
        从不含校验位的银行卡卡号采用 Luhn 校验算法获取校验位
        参数:
        nonCheckCodeCardId - 待校验银行卡号
        返回:
        银行卡校验位
      • getNameOfBank

        public static java.lang.String getNameOfBank​(java.lang.String cardBin)
        通过银行卡的 前六位确定 判断银行开户行及卡种
        参数:
        cardBin - 待校验银行卡号
        返回:
        银行开户行及卡种