欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java校驗(yàn)銀行卡是否正確的核心代碼

 更新時(shí)間:2017年01月20日 11:23:16   作者:病毒先生  
這篇文章主要介紹了Java校驗(yàn)銀行卡是否正確的核心代碼,需要的朋友可以參考下

多說無益,貼代碼:

/** 
   * 校驗(yàn)銀行卡卡號(hào) 
   * 
   * @param cardId 
   * @return 
   */ 
  public static boolean checkBankCard(String cardId) { 
    char bit = getBankCardCheckCode(cardId 
        .substring(0, cardId.length() - 1)); 
    return cardId.charAt(cardId.length() - 1) == bit; 
  } 
  /** 
   * 從不含校驗(yàn)位的銀行卡卡號(hào)采用 Luhm 校驗(yàn)算法獲得校驗(yàn)位 
   * 
   * @param nonCheckCodeCardId 
   * @return 
   */ 
  public static char getBankCardCheckCode(String nonCheckCodeCardId) { 
    int cardLenth = nonCheckCodeCardId.trim().length(); 
    if (nonCheckCodeCardId == null || cardLenth == 0 
        || !nonCheckCodeCardId.matches("\\d+")) { 
      throw new IllegalArgumentException("不是銀行卡的卡號(hào)!"); 
    } 
    char[] chs = nonCheckCodeCardId.trim().toCharArray(); 
    int luhmSum = 0; 
    for (int i = chs.length - 1, j = 0; i >= 0; i--, j++) { 
      int k = chs[i] - '0'; 
      if (j % 2 == 0) { 
        k *= 2; 
        k = k / 10 + k % 10; 
      } 
      luhmSum += k; 
    } 
    return (luhmSum % 10 == 0) ? '0' : (char) ((10 - luhmSum % 10) + '0'); 
  } 

感覺這個(gè)復(fù)制過去即可...所以我也沒深入研究.感覺浪費(fèi)時(shí)間.

以上所述是小編給大家介紹的Java校驗(yàn)銀行卡是否正確的核心代碼,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論