匹配Luhn算法:可用于检测银行卡卡号

匹配Luhn算法:可用于检测银行卡卡号

/**
	 * http://www.cnblogs.com/JnKindle/p/5798974.html
	 * 
	 * 匹配Luhn算法:可用于检测银行卡卡号
	 * 
	 * @param cardNo
	 * @return
	 */
	public static boolean matchLuhn(String cardNo) {

		int[] cardNoArr = new int[cardNo.length()];

		for (int i = 0; i < cardNo.length(); i++) {

			cardNoArr[i] = Integer.valueOf(String.valueOf(cardNo.charAt(i)));

		}

		for (int i = cardNoArr.length - 2; i >= 0; i -= 2) {

			cardNoArr[i] <<= 1;

			cardNoArr[i] = cardNoArr[i] / 10 + cardNoArr[i] % 10;

		}

		int sum = 0;

		for (int i = 0; i < cardNoArr.length; i++) {

			sum += cardNoArr[i];

		}

		return sum % 10 == 0;

	}

  

posted @ 2018-03-30 11:21  GL_BKY  阅读(736)  评论(0编辑  收藏  举报