Java校验银行卡是否正确的核心代码
多说无益,贴代码:
/**
*校验银行卡卡号
*
*@paramcardId
*@return
*/
publicstaticbooleancheckBankCard(StringcardId){
charbit=getBankCardCheckCode(cardId
.substring(0,cardId.length()-1));
returncardId.charAt(cardId.length()-1)==bit;
}
/**
*从不含校验位的银行卡卡号采用Luhm校验算法获得校验位
*
*@paramnonCheckCodeCardId
*@return
*/
publicstaticchargetBankCardCheckCode(StringnonCheckCodeCardId){
intcardLenth=nonCheckCodeCardId.trim().length();
if(nonCheckCodeCardId==null||cardLenth==0
||!nonCheckCodeCardId.matches("\\d+")){
thrownewIllegalArgumentException("不是银行卡的卡号!");
}
char[]chs=nonCheckCodeCardId.trim().toCharArray();
intluhmSum=0;
for(inti=chs.length-1,j=0;i>=0;i--,j++){
intk=chs[i]-'0';
if(j%2==0){
k*=2;
k=k/10+k%10;
}
luhmSum+=k;
}
return(luhmSum%10==0)?'0':(char)((10-luhmSum%10)+'0');
}
感觉这个复制过去即可...所以我也没深入研究.感觉浪费时间.
以上所述是小编给大家介绍的Java校验银行卡是否正确的核心代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短