Class CardKit

java.lang.Object
org.aoju.bus.core.toolkit.CardKit

public class CardKit extends Object
银行卡工具类
Since:
Java 17+
Author:
Kimi Liu
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static Map<String,String>
    支付宝银行编码对应名称
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static int
    binarySearch(int[] srcArray, int des)
     
    static char
    getBankCardCode(String nonCodeCardId)
    从不含校验位的银行卡卡号采用 Luhm 校验算法获得校验位
    static String
    getname(String cardnumber)
     
    static String
    获取银行 名称
    static boolean
    当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心, 因为并不是一个随便的信用卡号码都是合法的,它必须通过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整除,认定校验通过。 请编写一个程序,从键盘输入卡号,然后判断是否校验通过。通过显示:“成功”,否则显示“失败”。 比如,用户输入:356827027232780

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • BANK_MAP

      public static Map<String,String> BANK_MAP
      支付宝银行编码对应名称
  • Constructor Details

    • CardKit

      public CardKit()
  • Method Details

    • getname

      public static String getname(String cardnumber)
    • binarySearch

      public static int binarySearch(int[] srcArray, int des)
    • isBankCard

      public static boolean isBankCard(String cardId)
      当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心, 因为并不是一个随便的信用卡号码都是合法的,它必须通过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整除,认定校验通过。 请编写一个程序,从键盘输入卡号,然后判断是否校验通过。通过显示:“成功”,否则显示“失败”。 比如,用户输入:356827027232780

      校验银行卡卡号

      Parameters:
      cardId - 银行卡卡号
      Returns:
      the true/false
    • getBankCardCode

      public static char getBankCardCode(String nonCodeCardId)
      从不含校验位的银行卡卡号采用 Luhm 校验算法获得校验位
      Parameters:
      nonCodeCardId - 银行卡卡号
      Returns:
      校验位
    • getNameOfBank

      public static String getNameOfBank(String cardId)
      获取银行 名称
      Parameters:
      cardId - 卡号
      Returns:
      发卡行名称