MCPcopy Index your code
hub / github.com/caijf/bankcard

github.com/caijf/bankcard @v3.1.9

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.1.9 ↗ · + Follow
17 symbols 61 edges 19 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

bankcard

npm GitHub Build Status

通过银行卡号查询银行卡信息,支持浏览器端和 node 端

安装

npm install bankcard
yarn add bankcard
pnpm add bankcard

使用

  • es
import { searchCardBin } from 'bankcard';
searchCardBin('622305453434432224');
  • cjs
const { searchCardBin } = require('bankcard');
searchCardBin('622305453434432224');
  • 浏览器引入

在浏览器中使用 script 标签直接引入文件,并使用全局变量 bankcard

npm 包的 bankcard/dist 目录下提供了 bankcard.js 以及 bankcard.min.js。你也可以直接使用cdn

<script src="https://unpkg.com/bankcard@3"></script>
<script>
  bankcard.searchCardBin('622305453434432224');
  bankcard.validateCardInfo('622305453434432224');
</script>

示例

API

type CardInfo = {
  bankName: string; // 银行名称
  bankCode: string; // 银行编码
  cardBin: string; // 银行卡卡Bin
  cardType: CardType; // 卡类型
  cardTypeName: CardTypeName; // 卡类型名称
  len: number; // 卡号长度
};

searchCardBin

根据银行卡号查询卡 Bin 的银行卡信息。

searchCardBin(bankCardNo: string, options?: {
  multiple?: boolean;  // 支持查询多个值,返回结果将变成数组,默认 false 。不常用,仅少数不同银行的卡 bin 存在重复。
  data?: CardInfo[]; // 自定义数据
});

无结果返回 null,有结果返回:CardInfo

multiple=true ,返回:CardInfo[]

validateCardInfo

验证银行卡号。

validateCardInfo(bankCardNo: string, options?: {
  data?: CardInfo[]; // 自定义数据
});

返回:

{
  validated: boolean; // 验证结果
  errorCode: string; // 错误码
  message: string; // 错误信息
  cardInfo: CardInfo | null; // 当验证成功返回 CardInfo ,否则返回 null
}

先查询卡 Bin,再校验卡号长度。如果验证失败 validatedfalse

errorCode message 有以下值:

errorCode message
01 找不到该银行卡号
02 银行卡号格式错误

banks

全部银行列表。

[
  {
    code: 'ABC',
    name: '中国农业银行'
  }
  // ...
];

cards

全部银行卡信息列表。

CardInfo[];

CardType

卡类型。

{
  DC: "DC",
  CC: "CC",
  SCC: "SCC",
  PC: "PC"
}

CardTypeName

卡类型名称。

{
  DC: "储蓄卡",
  CC: "信用卡",
  SCC: "准贷记卡",
  PC: "预付费卡"
}

其他

部分银行卡不符合 Luhn 算法。如招商银行的运通卡、中国银行借记卡等等。可参阅《支付宝为什么不采用银行卡 Luhn 算法校验卡号?》。

Core symbols most depended-on inside this repo

searchCardBin
called by 21
src/index.ts
validateCardInfo
called by 11
src/index.ts
matchCardBin
called by 2
src/index.ts
normalizeString
called by 2
src/utils.ts
isBankCard
called by 1
src/utils.ts
App
called by 0
example/es6/src/app.js
Demo1
called by 0
example/es6/src/pages/example/Demo1.js
handleChangeCardNo
called by 0
example/es6/src/pages/example/Demo1.js

Shape

Function 15
Enum 2

Languages

TypeScript100%

Modules by API surface

src/index.ts3 symbols
test/index.test.ts2 symbols
src/utils.ts2 symbols
src/data/constants.ts2 symbols
example/es6/src/pages/example/Demo3.js2 symbols
example/es6/src/pages/example/Demo2.js2 symbols
example/es6/src/pages/example/Demo1.js2 symbols
example/es6/src/pages/example/index.js1 symbols
example/es6/src/app.js1 symbols

For agents

$ claude mcp add bankcard \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page