Java校验银行卡是否正确的核心代码
作者:病毒先生 时间:2022-01-28 19:53:29
多说无益,贴代码:
/**
* 校验银行卡卡号
*
* @param cardId
* @return
*/
public static boolean checkBankCard(String cardId) {
char bit = getBankCardCheckCode(cardId
.substring(0, cardId.length() - 1));
return cardId.charAt(cardId.length() - 1) == bit;
}
/**
* 从不含校验位的银行卡卡号采用 Luhm 校验算法获得校验位
*
* @param nonCheckCodeCardId
* @return
*/
public static char getBankCardCheckCode(String nonCheckCodeCardId) {
int cardLenth = nonCheckCodeCardId.trim().length();
if (nonCheckCodeCardId == null || cardLenth == 0
|| !nonCheckCodeCardId.matches("\\d+")) {
throw new IllegalArgumentException("不是银行卡的卡号!");
}
char[] chs = nonCheckCodeCardId.trim().toCharArray();
int luhmSum = 0;
for (int i = chs.length - 1, j = 0; i >= 0; i--, j++) {
int k = 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校验银行卡是否正确的核心代码网站的支持!
来源:http://blog.csdn.net/u012930316/article/details/54629520
标签:java,银行卡,校验
0
投稿
猜你喜欢
在springboot中实现个别bean懒加载的操作
2023-11-25 09:44:11
java实现随机数生成器
2023-06-15 04:26:53
vue+springboot前后端分离工程跨域问题解决方案解析
2023-08-06 06:51:10
Studio 编译报错:compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.的解决办法
2023-06-19 17:19:41
El表达式使用问题javax.el.ELException:Failed to parse the expression的解决方式
2023-11-24 12:47:13
Java实现的两个线程同时运行案例
2023-05-14 09:10:40
基于idea 的 Java中的get/set方法之优雅的写法
2023-11-26 20:22:50
JDBC核心技术详解
2023-12-09 12:22:28
兼容Spring Boot 1.x和2.x配置类参数绑定的工具类SpringBootBindUtil
2023-11-03 05:35:06
从dubbo zookeeper注册地址提取出zookeeper地址的方法
2023-04-29 18:51:16
简述Java中的四种引用类型
2023-11-29 00:46:56
Java中Prime算法的原理与实现详解
2022-06-11 23:16:29
深入理解Java虚拟机体系结构
2021-09-15 19:46:53
Java数组越界问题实例解析
2023-10-25 18:16:23
Java获取字符串编码格式实现思路
2023-08-14 12:35:38
SpringBoot 开发提速神器 Lombok+MybatisPlus+SwaggerUI
2022-07-08 07:40:23
SpringBoot使用Thymeleaf模板引擎访问静态html的过程
2023-11-25 10:04:44
Spring @Profile注解详解
2023-04-20 06:26:16
maven手动上传jar包示例及图文步骤过程
2023-11-13 22:10:57
Java中不可或缺的关键字volatile详析
2023-07-22 12:11:29