搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
码创造者
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
【C++&Python&Java】字符处理详细解读_字符_ASCLL码_字母数字转换_算法竞赛_开发语言
2
排序算法与复杂度介绍
3
开源 复刻GPT-4o - Moshi;自动定位和解决软件开发中的问题;ComfyUI中使用MimicMotion;自动生成React前端代码_comfyui mimicmotion
4
Golang | Leetcode Golang题解之第72题编辑距离_编辑距离 golang
5
Diffusion【1】:SDSeg——基于Stable Diffusion的单步扩散分割!
6
vue元素显示隐藏_web前端入门到实战:元素显示隐藏的9种思路
7
龟兔赛跑(基于GUI与多线程实现)_java龟兔赛跑多线程图形界面
8
一文彻底搞懂前端实现文件预览(word、excel、pdf、ppt、mp4、图片、文本)_前端能预览word吗?
9
基于MySQL项目适配达梦数据库工具_mysql支持达梦版
10
electron+vue3 进行点击关闭按钮时,弹出自定义弹出框_electron点击菜单弹出窗口
当前位置:
article
> 正文
Java银行卡归属地校验查询
作者:码创造者 | 2024-07-25 15:58:28
赞
踩
Java银行卡归属地校验查询
步骤:
首先区分借记卡和信用卡,然后就是校验卡号,最后根据银联Bin确定什么银行,Bin之后就是归属地。
本文所有数据来源于网络,不一定保证正确和完整,这里仅仅作为教学使用。
[java]
view plain
copy
package
org.luozhuang.bankcard;
public
class
checkBankCard {
/*
当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心,
因为并不是一个随便的信用卡号码都是合法的,它必须通过Luhn算法来验证通过。
该校验的过程:
1、从卡号最后一位数字开始,逆向将奇数位(1、3、5等等)相加。
2、从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,则将其减去9),再求和。
3、将奇数位总和加上偶数位总和,结果应该可以被10整除。
例如,卡号是:5432123456788881
则奇数、偶数位(用红色标出)分布:5432123456788881
奇数位和=35
偶数位乘以2(有些要减去9)的结果:1 6 2 6 1 5 7 7,求和=35。
最后35+35=70 可以被10整除,认定校验通过。
请编写一个程序,从键盘输入卡号,然后判断是否校验通过。通过显示:“成功”,否则显示“失败”。
比如,用户输入:356827027232780
程序输出:成功
*/
/**
* 校验银行卡卡号
* @param cardId
* @return
*/
public
static
boolean
checkBankCard(String cardId) {
char
bit = getBankCardCheckCode(cardId.substring(
0
, cardId.length() -
1
));
if
(bit ==
'N'
){
return
false
;
}
return
cardId.charAt(cardId.length() -
1
) == bit;
}
/**
* 从不含校验位的银行卡卡号采用 Luhm 校验算法获得校验位
* @param nonCheckCodeCardId
* @return
*/
public
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'
);
}
}
[java]
view plain
copy
package
org.luozhuang.bankcard;
import
java.util.Arrays;
public
class
BankCardBin {
// 银行卡是由”发卡行标识代码 + 自定义 + 校验码 “等部分组成的
// BIN号
//银联标准卡与以往发行的银行卡最直接的区别就是其卡号前6位数字的不同。
//银行卡卡号的前6位是用来表示发卡银行或机构的,称为“发卡行识别码”(Bank Identification Number,缩写为“BIN”)。
//银联标准卡是由国内各家商业银行(含邮储、信用社)共同发行、符合银联业务规范和技术标准、卡正面右下角带有“银联”标识(目前,新发行的银联标准卡一定带有国际化的银联新标识,新发的非银联标准卡使用旧的联网通用银联标识)、
//卡号前6位为622126至622925之一的银行卡,是中国银行卡产业共有的民族品牌。
private
final
static
int
[] bankBin = {
102033
,
103000
,
185720
,
303781
,
356827
,
356828
,
356833
,
356835
,
356837
,
356838
,
356839
,
356840
,
356885
,
356886
,
356887
,
356888
,
356889
,
356890
,
370246
,
370247
,
370248
,
370249
,
400360
,
400937
,
400938
,
400939
,
400940
,
400941
,
400942
,
402658
,
402673
,
402791
,
403361
,
403391
,
404117
,
404157
,
404171
,
404172
,
404173
,
404174
,
404738
,
404739
,
405512
,
405512
,
406252
,
406254
,
406365
,
407405
,
409665
,
409666
,
409667
,
409668
,
409669
,
409670
,
409671
,
409672
,
410062
,
412962
,
412963
,
415599
,
421317
,
421349
,
421393
,
421437
,
421865
,
421869
,
421870
,
421871
,
422160
,
422161
,
424106
,
424107
,
424108
,
424109
,
424110
,
424111
,
424902
,
425862
,
427010
,
427018
,
427019
,
427020
,
427028
,
427029
,
427038
,
427039
,
427062
,
427064
,
427571
,
428911
,
431502
,
431502
,
433666
,
433670
,
433680
,
434061
,
434062
,
435744
,
435745
,
436718
,
436728
,
436738
,
436742
,
436745
,
436748
,
436768
,
438088
,
438125
,
438126
,
438588
,
438589
,
438600
,
439188
,
439225
,
439227
,
442729
,
442730
,
451289
,
451291
,
451804
,
451804
,
451810
,
451810
,
453242
,
456351
,
456418
,
458060
,
458060
,
458071
,
458071
,
458123
,
458124
,
468203
,
472067
,
472068
,
479228
,
479229
,
481699
,
486466
,
486493
,
486494
,
486497
,
487013
,
489592
,
489734
,
489735
,
489736
,
491020
,
491020
,
491031
,
491032
,
491040
,
493427
,
493878
,
498451
,
504923
,
510529
,
512315
,
512316
,
512411
,
512412
,
512425
,
512431
,
512466
,
512695
,
512732
,
514906
,
514957
,
514958
,
517636
,
518212
,
518364
,
518378
,
518379
,
518474
,
518475
,
518476
,
518710
,
518718
,
519412
,
519498
,
520082
,
520108
,
520131
,
520152
,
520169
,
520194
,
520382
,
521899
,
522153
,
523036
,
524011
,
524047
,
524070
,
524091
,
524094
,
524864
,
524865
,
525498
,
525745
,
525746
,
526410
,
526855
,
527414
,
528020
,
528931
,
528948
,
530970
,
530980
,
530980
,
530990
,
532420
,
532430
,
532450
,
532458
,
535910
,
535910
,
535918
,
537830
,
540297
,
540838
,
541068
,
541709
,
543159
,
544033
,
545619
,
545623
,
545947
,
547628
,
547648
,
547766
,
547766
,
548259
,
548844
,
552245
,
552288
,
552534
,
552587
,
552599
,
552742
,
552794
,
552801
,
552853
,
553131
,
553242
,
556610
,
556617
,
558360
,
558730
,
558808
,
558809
,
558868
,
558868
,
558894
,
558895
,
558916
,
566666
,
584016
,
601100
,
601101
,
601121
,
601122
,
601123
,
601124
,
601125
,
601126
,
601127
,
601128
,
601131
,
601136
,
601137
,
601138
,
601140
,
601142
,
601143
,
601144
,
601145
,
601146
,
601147
,
601148
,
601149
,
601174
,
601177
,
601178
,
601179
,
601186
,
601187
,
601188
,
601189
,
601382
,
601382
,
601428
,
601428
,
601428
,
601428
,
602907
,
602907
,
602969
,
602969
,
603128
,
603128
,
603367
,
603367
,
603445
,
603445
,
603506
,
603506
,
603601
,
603601
,
603601
,
603601
,
603601
,
603601
,
603602
,
603602
,
603694
,
603694
,
603708
,
603708
,
621021
,
621201
,
621977
,
621977
,
622126
,
622126
,
622127
,
622127
,
622127
,
622127
,
622128
,
622128
,
622129
,
622129
,
622131
,
622131
,
622132
,
622132
,
622133
,
622133
,
622134
,
622134
,
622135
,
622135
,
622136
,
622136
,
622137
,
622137
,
622138
,
622138
,
622139
,
622139
,
622140
,
622140
,
622141
,
622141
,
622143
,
622143
,
622146
,
622146
,
622147
,
622147
,
622148
,
622148
,
622149
,
622149
,
622150
,
622150
,
622151
,
622151
,
622152
,
622152
,
622153
,
622153
,
622154
,
622154
,
622155
,
622155
,
622156
,
622156
,
622165
,
622165
,
622166
,
622166
,
622168
,
622168
,
622169
,
622169
,
622178
,
622178
,
622179
,
622179
,
622184
,
622184
,
622188
,
622188
,
622199
,
622199
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/码创造者/article/detail/881070
推荐阅读
article
Frida
java
js
类型转换
_
frida
强转类型
_
frida
强制转换...
/此处填坑,当byte因为符合位导致数值为负时候,需要对数据进行处理。
_
frida
强制转换
frida
强制转换 ...
赞
踩
article
java
git
subtree
_Git
Subtree
的使用...
背景项目A与项目B存在公用模块,在项目A中修改Bug或增加新功能需要同步到项目B中,由于存在区别所以还不能完全copy需...
赞
踩
article
Java
编程基础:40 道
选择
题
带你掌握核心概念 大学
期末考试
题
_
java
选择
题
...
(在
Java
中,使用。
_
java
选择
题
java
选择
题
当...
赞
踩
article
java 企业
工程
管理
系统软件源码+
Spring
Cloud +
Spring
Boot +二次开发...
项目计划
管理
:计划的查询、新增、编辑、删除、甘特图保存为基线、设置为模板、任务时间及顺序调整、全局资源配置、引用系统模板...
赞
踩
article
【
kubernetes
】
Java
操作
k8s
-
API
_
kubernetes
java
api
...
在K8s平台上,我们可以使用kubectl命令对Deployment、pod、Service等资源进行增删改查。本文章将...
赞
踩
article
java
List
<
Map
> 相同
key
求和
_
java
map
按
key
求和
...
遇到个需求,就是上两篇那个导出excel延申的:
java
利用poi根据excel模板导出数据(一)
java
利用poi...
赞
踩
article
蓝桥
杯——
砝码
称
重(
JAVA
)
_
java
称
砝码
...
你有一架天平和 NN 个
砝码
,这 NN 个
砝码
重量依次是 W
_
1, W
_
2, · · · , W
_
NW1,W2,⋅⋅...
赞
踩
article
Java
面试
全解析:
核心
知识点
与典型
面试
题
_
java
面试
全解析:
核心
知识点
与典型
面试
题
...
老王资深
面试
官,阿里云社区认证专家。十余年编程从业经验,现上市公司技术研发经理,曾就职于360,有着丰富的大型系统设计、...
赞
踩
article
ElasticSearch
全文
搜索引擎
入门到入土_
搜索引擎
java
...
ElasticSearch
全文
搜索引擎
,-
全文
搜索Lucene入门-
ElasticSearch
概述和安装- Elas...
赞
踩
article
【
项目
】
Java
API
站内
搜索引擎
_
搜索引擎
api
...
实现java文档搜索功能_
搜索引擎
api
搜索引擎
api
...
赞
踩
article
java
高级
--
Elasticsearch
_关键字
搜索引擎
java
...
概念:用户输入想要的关键词,返回含有该关键词的所有信息。场景: 1互联网搜索:谷歌、百度、各种新闻首页 2 站内搜索(垂...
赞
踩
article
Java
-
AVL
树
_
avl
树
在线...
AVL
树
简介
AVL
树
其实就是二叉查找
树
,不同的是在二叉查找
树
的基础上进行了加强,弥补了二叉
树
会有可能退化为链表情况
AVL
...
赞
踩
article
笔试面试算法经典--
判断
二叉
树
是否
是
平衡
二叉
树
(Java)_
判断
以根节点
的
树
是否
为
平衡
二叉
树
。求出左...
平衡
二叉
树
(Balanced Binary Tree)又被称为AVL
树
,且具有以下性质:它是一 棵空
树
或它
的
左右
两个
子
树
...
赞
踩
article
平衡
二叉
树实现(
Java
)_
二叉
平衡
树画
java
...
终于搞出来了!!!import
java
.util.LinkedList;public class AVLTree { ...
赞
踩
article
【Java
数据结构
】
平衡
二叉
树
_
二叉
平衡
树
的
数据结构
java
...
平衡
二叉
树
二叉
排序
树
的不足
平衡
二叉
树
构建
二叉
排序
树
平衡
因子返回当前节点的高度判断左旋转还是右旋转左左(右旋转)右旋转图解...
赞
踩
article
平衡
二叉树
的
基本原理
和实现
方法
(
Java
)_
二叉树
基本原理
方法
...
平衡
二叉树
(AVL树)
的
来源:看一个案例(说明二叉排序树可能
的
问题)给你一个数列{1,2,3,4,5,6},要求创建一颗...
赞
踩
article
Java
数据结构
与算法之
树
(
AVL
)_
java
节点
关系
树
算法...
AVL
树
历史在计算机科学中,
AVL
树
以其两位苏联发明家Georgy Adelson-Velsky和 Evgenii L...
赞
踩
article
【
数据结构
Java 版】
二叉
树
的
实现
(超多图、超详解)_
java
子
节点
重复
的
树
怎么写...
文章目录1.
树
型结构1.1 概念1.2 要掌握
的
知识点1.3
树
的
存储形式1.4
树
的
应用2.
二叉
树
2.1 概念2....
赞
踩
article
最新版ES8的
client
API
操作
Elasticsearch
Java
API
client
...
我们在学习ES客户端时,一直使用的都是`
Java
High Level Rest Client`,在浏览官网时,发现官方...
赞
踩
article
普通大专真的
可以
自
学
Java
吗?_
专科
学
历
可以
学
java
吗...
能是肯定能,看数据先,全国范围内搜索
Java
筛选大专
学
历,1到 3年工作经验,找到了1177条消息。但是其他条件不变,更...
赞
踩
相关标签
java
javascript
开发语言
java git subtree
企业工程管理系统
工程管理系统源码
kubernetes
容器
list
vue.js
蓝桥杯
职场和发展
android
前端
后端
搜索引擎
elasticsearch
大数据
spring boot
数据结构
算法