银行卡是16位或者19位的正则表达式怎么写?

发布网友 发布时间:2022-04-22 21:36

我来回答

1个回答

热心网友 时间:2023-08-05 08:43

[0-9]{19}银行卡数字规则:


19位卡号的前六位是各家银行的BIN码,各家银行或同一银行的不同卡种都不同。


7--9位是银行卡的地区码,用来表示银行卡的不同地区。


10---18位是银行卡的顺序码,从1一直排到999999999。


最后一位是校验码,是随机产生的。

根据《中国银联2.0》标准-Q/CUP002-2;Luhn计算模10“隔位2倍加”校验数的公式。
计算步骤如下:


1:从右边第1个数字(低序)开始每隔一位乘以
2


2:把在步骤1中获得的乘积的各位数字与原号码中未乘2的各位数字相加。


3:从邻近的较高的一个以0结尾的数中减去步骤2中所得到的总和。


[这相当于求这个总和的低位数字(个位数)的“
10的补数 ”],
如果在步骤2得到的总和是以零结尾的数(如30、40等等),则校验数字就是零。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com