import java.util.regex.Pattern; public class BankcardValidateTest { private final static Pattern bank_reg_p = Pattern.compile("^\\d{12,26}$"); private final static Pattern bank_reg_p_find = Pattern.compile("\\d{12,}"); /** * 判断是否为银行卡号 * @param dataString * @return */ public static boolean support(String dataString) { int length = dataString.length(); return isBankCard(dataString) && getBankCardCheckCode(dataString.substring(0, length - 1), dataString.charAt(length - 1)); } public static boolean isBankCard(String dataString) { return bank_reg_p.matcher(dataString).matches(); } public static Pattern getRegFind() { return bank_reg_p_find; } /** * 银行卡校验位计算,并验证 * @param nonCheckCodeCardId * @param c * @return */ private static boolean getBankCardCheckCode(String nonCheckCodeCardId, char c) {
Java实现银行卡号校验
于 2022-08-31 17:30:44 首次发布