除了Luhn算法之外,还有其他算法可用于验证信用卡号,因为Visa卡号未通过Luhn算法的标准。
除了直接查询VISA服务外,没有其他标准可以验证信用卡,这也可以根据当前可用的信用卡来验证信用卡。
用几句话来说,今天都在线上。
这将有效卡号数量加倍。我不知道这是否正确,因为我无法访问那么多卡号,但也许您可以比较自己拥有的卡号。
public static void main(String[] args) {
boolean isValid = checkCC("4561 2612 1234 5467");
System.out.println(isValid);
}
private static boolean checkCC(String input) {
String purportedCC = input.replaceAll(" ", "");
int sum = 0;
for (int i = 0; i < purportedCC.length(); i++) {
int cardNum = Integer.parseInt(
Character.toString(purportedCC.charAt(i)));
if ((purportedCC.length() - i) % 2 == 0) {
cardNum = cardNum * 2;
if (cardNum > 9) {
cardNum = cardNum - 9;
}
}
sum += cardNum;
}
return sum % 10 == 0;
}