需要定制一个正则校验
要求:纯数字,位数限制:14-19位 ,首位开头限制:34569 ,首位开始连续最多重复6位
public static boolean validateBankCardNo(String bankCardNo){
Pattern pattern=Pattern.compile("^[34569]{1,6}\d{13}$");
return pattern.matcher(bankCardNo).matches();
}
上述的正则只解决了部分问题,连续重复的问题不能解决
尝试使用两个不同的正则分别校验
^[3456]{1}\d{13,18}$
^([3456])\1{6}
满足第一个为ture,满足第二个为false;可以达到效果