6228480028608957772此银行卡卡号号码大全号是否存在?

银行卡号编码规则及其应用 - 简书
银行卡号编码规则及其应用
绑卡时输入银行卡号后识别出银行和卡种是如何做到的?为什么能够在卡号输入有误时进行友好提示?本篇文章将为大家揭晓。一、银行卡结构XXXXXX
XXXXXXXXXXXX
X发卡行标识代码
校验码根据ISO标准,银行卡长度一般在13-19位,国际上也有12位的。银联标准卡卡长度一般是在16-19位,双组织卡也有13-19位的。二、发卡行标识代码发卡行标识代码Bank Identification Number(BIN),又叫发卡机构标识代码Issuer Identification Numbers(IIN)。一般由6位数字组成,2014年底,国际标准组织(ISO)已经将BIN由6位数字调整到8位数字。目前国内银联卡,因银行众多,特别是村镇银行的存在,BIN长度以6位占绝大部分,另外还存在7、8、9、10等位数卡BIN。发卡行标识代码第一位,为发卡行业标识号Major Industry Identifier(MII),代表的是发卡机构所处行业。具体分配规则如下:目前银联标准卡以62开头,各银行再向银联进行卡BIN申请,如622848开头的卡为农行借记卡。我们发现,银联卡不都是以62开头,主要有2种情况。第一种是双组织卡,如银联、运通双组织卡,一般以信用卡居多,如招行与运通合作的运通卡。另外一种即早期以9开头的银行卡,这些卡都是国内自行分配的,仅限国内使用,无法与国际进行接轨。以下为部分常见卡组织发行的银行卡起始数字:
银联卡,通过卡BIN能获取到的信息不仅仅是发卡行,还能确定该卡卡种、卡名称、卡号长度等信息。以下为部分卡BIN信息列举:
因此,只要能获取到比较全面的卡BIN数据,就能判断出银行卡发卡行及卡种。目前支付宝、微信等大部分主流需要绑卡的应用都是如此实现。
三、自定义位发卡行自定义位,一般在6-12位。四、校验码算法校验码为银行卡号最后一位,采用LUHN算法,亦称模10算法。计算方法如下:第一步:从右边第1个数字开始每隔一位乘以2;第二步: 把在第一步中获得的乘积的各位数字相加,然后再与原号码中未乘2的各位数字相加;第三步:对于第二步求和值中个位数求10的补数,如果个位数为0则该校验码为0。举例:(不含校验码的银行卡号)第一步:6*2=12,5*2=10,6*2=12,0*2=0,7*2=14,7*2=14,2*2=4,9*2=18第二步:1+2
= 3030 + 2+9+5+8+1+7+0 = 62第三步:10-2=8所以,校验码是8,完整的卡号应该是2098。值得指出的是,目前银联卡几乎都支持校验码算法,但是也不排除极个别不支持此算法的,如杭州银行早期发行的西湖卡。作者:MrColin链接:/p/来源:知乎
互联网从业者,伪文艺青年> 银行卡卡号是不是正确判断(实战)
银行卡卡号是不是正确判断(实战)
makuifu & &
发布时间: & &
浏览:41 & &
回复:0 & &
悬赏:0.0希赛币
银行卡卡号是否正确判断(实战)  public class CheckIdCard {
* 校验银行卡卡号
* @param cardId
public static boolean checkBankCard(String cardId) {
char bit = getBankCardCheckCode(cardId
.substring(0, cardId.length() - 1));
if (bit == 'N') {
return cardId.charAt(cardId.length() - 1) ==
* 从不含校验位的银行卡卡号采用 Luhm 校验算法获得校验位
* @param nonCheckCodeCardId
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 = k / 10 + k % 10;
luhmSum +=
return (luhmSum % 10 == 0)
'0' : (char) ((10 - luhmSum % 10) + '0');
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&}

我要回帖

更多关于 银行卡号归属地查询 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信