public class BankCardNumberGenerator extends GenericGenerator
生成随机银行卡号: 参考:效验是否为银行卡,用于验证: 现行 16 位银联卡现行卡号开头 6 位是 622126~622925 之间的,7 到 15 位是银行自定义的, 可能是发卡分行,发卡网点,发卡序号,第 16 位是校验码。 16 位卡号校验位采用 Luhm 校验方法计算: 1,将未带校验位的 15 位卡号从右依次编号 1 到 15,位于奇数位号上的数字乘以 2 2,将奇位乘积的个十位全部相加,再加上所有偶数位上的数字 3,将加法和加上校验位能被 10 整除。
| 限定符和类型 | 方法和说明 |
|---|---|
String |
generate() |
static String |
generate(BankNameEnum bankName,
BankCardTypeEnum cardType)
根据银行名称 及银行卡类型生成对应卡号
|
static String |
generateByPrefix(Integer prefix)
根据给定前六位生成卡号
|
static GenericGenerator |
getInstance() |
getRandomInstancepublic static GenericGenerator getInstance()
public String generate()
generate 在类中 GenericGeneratorpublic static String generate(BankNameEnum bankName, BankCardTypeEnum cardType)
bankName - 银行名称cardType - 银行卡类型Copyright © 2018. All rights reserved.