文章结尾有银行JSON文件

// 银行卡与对应银行匹配
/*
** bankInfo: 银行信息,可传入银行名称(中国工商银行)或银行代码(ICBC),必传字段
** cardNum:银行卡号,必传字段
*/
function matchBankCard(bankInfo, cardNum) {
    // 银行JSON数据
    const banks = [
        {
          bankName: "中国邮政储蓄银行",
          bankCode: "PSBC",
          patterns: [
            {
              reg: /^(621096|621098|622150|622151|622181|622188|622199|955100|621095|620062|621285|621798|621799|621797|620529|621622|621599|621674|623218|623219)\d{13}$/g,
              cardType: "DC",
            },
            {
              reg: /^(62215049|62215050|62215051|62218850|62218851|62218849)\d{11}$/g,
              cardType: "DC",
            },
            {
              reg: /^(622812|622810|622811|628310|625919)\d{10}$/g,
              cardType: "CC",
            },
          ],
        },
        // ... 其他银行数据
    ];
    // 根据银行JSON匹配银行
    const bank = banks .find(
        (b) => b.bankName === bankInfo || b.bankCode === bankInfo
    );
    if (!bank) {
        return { bank_name: "没有匹配银行", card_type: "未知" };
    }
    // 匹配银行卡号和银行卡类型
    const matchedPattern = bank.patterns.find((pattern) =>
        pattern.reg.test(cardNum)
    );
    if (!matchedPattern) {
        return { bank_name: "未知", card_type: "未知" };
    }
    const cardTypeDict = { DC: "借记卡", CC: "信用卡", SCC: "准贷记卡", PC: "预付卡" };
    return {
        bank_name: bank.bankName,
        card_type: cardTypeDict[matchedPattern.cardType] || "未知",
    };
}

// console.log(matchBankCard("ICBC", "622202******1234"));
// 输出:{ bank_name: "中国工商银行", card_type: "借记卡" }

// 匹配中国邮政储蓄银行信用卡
// console.log(matchBankCard("中国邮政储蓄银行", "622812******5678"));
// 输出:{ bank_name: "中国邮政储蓄银行", card_type: "信用卡" }

下载文件

最后修改:2023 年 11 月 13 日
如果觉得我的文章对你有用,请随意赞赏