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校验银行卡是否正确的核心代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短