安卓实现银行卡号验证
来源:互联网 发布:已选中提示js代码 编辑:程序博客网 时间:2024/05/17 06:28
/**
* 判断是否是银行卡号
* @author WJ
* @param cardNo
* @return
*/
public static boolean checkBankCard(String cardNo) {
char bit = getBankCardCheckCode(cardNo
.substring(0, cardNo.length() - 1));
if (bit == 'N') {
return false;
}
return cardNo.charAt(cardNo.length() - 1) == bit;
}
private static char getBankCardCheckCode(String nonCheckCodeCardId) {
if (nonCheckCodeCardId == null
|| nonCheckCodeCardId.trim().length() == 0
|| !nonCheckCodeCardId.matches("\\d+")) {
// 如果传的不是数据返回N
return 'N';
}
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');
}
* 判断是否是银行卡号
* @author WJ
* @param cardNo
* @return
*/
public static boolean checkBankCard(String cardNo) {
char bit = getBankCardCheckCode(cardNo
.substring(0, cardNo.length() - 1));
if (bit == 'N') {
return false;
}
return cardNo.charAt(cardNo.length() - 1) == bit;
}
private static char getBankCardCheckCode(String nonCheckCodeCardId) {
if (nonCheckCodeCardId == null
|| nonCheckCodeCardId.trim().length() == 0
|| !nonCheckCodeCardId.matches("\\d+")) {
// 如果传的不是数据返回N
return 'N';
}
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');
}
0 0
- 安卓实现银行卡号验证
- js 验证银行卡号
- js验证银行卡号
- js 银行卡号验证
- 银行卡号验证
- 安卓银行卡输入框实现自动加空格
- 身份证号验证 银行卡号验证
- 安卓扫描银行卡获取卡号信息
- OC验证银行卡卡号
- 银行卡号合法性验证小结
- 正则表达式验证银行卡号
- JS验证银行卡号有效性
- 银行卡 验证
- 银行卡验证
- 银行卡验证
- 银行卡号验证js(银行卡号Luhm校验)
- 获取银行卡所属银行,验证银行卡号是否正确
- 银行卡前台展示+后台字符串处理+银行卡卡号验证
- 多线程的那点儿事(之死锁)
- xStream实现Java类输出xml文件
- [Android实践]之:Fragment实现兼容手机和平板
- Linux系统开机自动挂载文件fstab介绍
- iOS10的推送框架UserNotifications以及UserNotificationsUI
- 安卓实现银行卡号验证
- Gradle Android客户端程序打包(基于gradle 2.10版本验证通过)
- ios视频和音频采集
- 硬盘装XP系统教程
- 抽象工厂模式(AbstractFactory)
- scala基础2 —— 函数
- Git——新手入门与上传项目到远程仓库GitHub
- OpenLayer3的getArea()及getLenth()方法解析
- nginx+lua扩展