验证信用卡详细信息

use*_*332 6 java validation

如何验证信用卡.我需要做luhn检查.黑莓手机上有api吗?

rfs*_*010 11

您可以使用以下方法验证信用卡号

// -------------------
// Perform Luhn check
// -------------------

public static boolean isCreditCardValid(String cardNumber) {
    String digitsOnly = getDigitsOnly(cardNumber);
    int sum = 0;
    int digit = 0;
    int addend = 0;
    boolean timesTwo = false;

    for (int i = digitsOnly.length() - 1; i >= 0; i--) {
        digit = Integer.parseInt(digitsOnly.substring(i, i + 1));
        if (timesTwo) {
            addend = digit * 2;
            if (addend > 9) {
                addend -= 9;
            }
        } else {
            addend = digit;
        }
        sum += addend;
        timesTwo = !timesTwo;
    }

    int modulus = sum % 10;
    return modulus == 0;

}
Run Code Online (Sandbox Code Playgroud)

  • 似乎来自http://onesandzeros.biz/notebook/ccvalidation.php#Source,它还定义了`getDigitsOnly()`方法. (2认同)