Java根据信用卡号区分国际常用的五大信用卡卡种:VISA,Master,AE,DC,JCB.
信用卡卡号通常为16位:第1~ 6位为发卡行的 BIN NO.
维萨卡VISA
卡号范围:400000 ~ 499999
万事达卡MasterCard
卡号范围:510000 ~ 559999
美国运通卡American Express
卡号范围:340000 ~ 349999,370000 ~ 379999
大莱卡DinersClub
卡号范围:300000 ~ 305999,309500 ~ 309599,360000 ~ 369999,380000 ~ 399999
日本国际卡JCB
卡号范围:352800 ~ 358999
随便来个随便的util
public class CardTypeUtil {
public static String cardType(String cardNo) {
if (StringUtils.isEmpty(cardNo)) {
return "";
}
String cardType = "";
if ("4".equals(cardNo.substring(0, 1))) {
cardType = "VISA";
} else if ("5".equals(cardNo.substring(0, 1))) {
cardType = "MASTER";
} else if ("35".equals(cardNo.substring(0, 2))) {
cardType = "JBC";
} else if ("34".equals(cardNo.substring(0, 2)) || ("37".equals(cardNo.substring(0, 2)))) {
cardType = "AE";
} else {
cardType = "DISCOVER";
}
return cardType;
}
}
随手笔记,勿喷!