验证信用卡详细信息

时间:2012-01-17 13:36:46

标签: java validation

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

2 个答案:

答案 0 :(得分: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;

}

答案 1 :(得分:0)

using System; 

class GFG { 

// Returns true if given 
// card number is valid 
static bool checkLuhn(String cardNo) 
{ 
    int nDigits = cardNo.Length; 
    int nSum = 0; 
    bool isSecond = false; 
    for (int i = nDigits - 1; i >= 0; i--) 
    { 
        int d = cardNo[i] - '0'; 
        if (isSecond == true) 
            d = d * 2; 

        // We add two digits to handle 
        // cases that make two digits 
        // after doubling 
        nSum += d / 10; 
        nSum += d % 10; 
        isSecond = !isSecond; 
    } 
    return (nSum % 10 == 0); 
} 

    static public void Main() 
    { 
        String cardNo = "79927398713"; 
        if (checkLuhn(cardNo)) 
            Console.WriteLine("This is a valid card"); 
        else
            Console.WriteLine("This is not a valid card"); 

    } 
} 

输出:-

这是有效的卡