complete add new card
This commit is contained in:
@@ -0,0 +1,335 @@
|
||||
import { BankCartInterface, BanksInterface } from "../types";
|
||||
|
||||
export const formatCartNumber = (num: string) => {
|
||||
return num?.toString().replace(/\B(?=(\d{4})+(?!\d))/g, ` `);
|
||||
}
|
||||
|
||||
export let bankCarts: BankCartInterface[] | [] | any = []
|
||||
|
||||
const banks: BanksInterface[] | [] = [
|
||||
{
|
||||
name: "ansar",
|
||||
name_farsi: "انصار",
|
||||
icon: <i className="ibl32 ibl-ansar" />,
|
||||
iban_nbc: "063",
|
||||
pan_iin: [
|
||||
"627381"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "ayandeh",
|
||||
name_farsi: "آینده",
|
||||
icon: <i className="ibl32 ibl-ba" />,
|
||||
iban_nbc: "062",
|
||||
pan_iin: [
|
||||
"636214"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "bank_markazi",
|
||||
name_farsi: "بانک مرکزی",
|
||||
icon: "Bank_Markazi.svg",
|
||||
iban_nbc: "010",
|
||||
pan_iin: [
|
||||
"636795"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "dey",
|
||||
name_farsi: "دی",
|
||||
icon: <i className="ibl32 ibl-day" />,
|
||||
iban_nbc: "066",
|
||||
pan_iin: [
|
||||
"502938"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "eghtesad_novin",
|
||||
name_farsi: "اقتصاد نوین",
|
||||
icon: <i className="ibl32 ibl-en" />,
|
||||
iban_nbc: "055",
|
||||
pan_iin: [
|
||||
"627412",
|
||||
"627884"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "gardeshgari",
|
||||
name_farsi: "گردشگری",
|
||||
icon: <i className="ibl32 ibl-tourism" />,
|
||||
iban_nbc: "064",
|
||||
pan_iin: [
|
||||
"505416"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "ghavamin",
|
||||
name_farsi: "قوامین",
|
||||
icon: <i className="ibl32 ibl-ghbi" />,
|
||||
iban_nbc: "052",
|
||||
pan_iin: [
|
||||
"639599"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "hekmat",
|
||||
name_farsi: "حکمت",
|
||||
icon: <i className="ibl32 ibl-hi" />,
|
||||
iban_nbc: "065",
|
||||
pan_iin: [
|
||||
"636949"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "iran_zamin",
|
||||
name_farsi: "ایرانزمین",
|
||||
icon: <i className="ibl32 ibl-iz" />,
|
||||
iban_nbc: "069",
|
||||
pan_iin: [
|
||||
"505785",
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "karafarin",
|
||||
name_farsi: "کارآفرین",
|
||||
icon: <i className="ibl32 ibl-kar" />,
|
||||
iban_nbc: "053",
|
||||
pan_iin: [
|
||||
"502910",
|
||||
"627488"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "keshavarzi",
|
||||
name_farsi: "کشاورزی",
|
||||
icon: <i className="ibl32 ibl-bki" />,
|
||||
iban_nbc: "016",
|
||||
pan_iin: [
|
||||
"603770",
|
||||
"639217"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "khavar_mianeh",
|
||||
name_farsi: "خاورمیانه",
|
||||
icon: <i className="ibl32 ibl-me" />,
|
||||
iban_nbc: "078",
|
||||
pan_iin: [
|
||||
"505809"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "maskan",
|
||||
name_farsi: "مسکن",
|
||||
icon: <i className="ibl32 ibl-maskan" />,
|
||||
iban_nbc: "014",
|
||||
pan_iin: [
|
||||
"628023"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "mehr_iran",
|
||||
name_farsi: "مهر ایران",
|
||||
icon: <i className="ibl32 ibl-miran" />,
|
||||
iban_nbc: "060",
|
||||
pan_iin: [
|
||||
"606373"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "melall",
|
||||
name_farsi: "ملل",
|
||||
icon: <i className="ibl32 ibl-melal" />,
|
||||
iban_nbc: "075",
|
||||
pan_iin: [
|
||||
"606256"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "mellat",
|
||||
name_farsi: "ملت",
|
||||
icon: <i className="ibl32 ibl-mellat" />,
|
||||
iban_nbc: "012",
|
||||
pan_iin: [
|
||||
"610433",
|
||||
"991975"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "melli",
|
||||
name_farsi: "ملی",
|
||||
icon: <i className="ibl32 ibl-bmi" />,
|
||||
iban_nbc: "017",
|
||||
pan_iin: [
|
||||
"603799",
|
||||
"589905",
|
||||
"170019"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "noor",
|
||||
name_farsi: "نور",
|
||||
icon: "Noor.svg",
|
||||
iban_nbc: "080",
|
||||
pan_iin: [
|
||||
"507677"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "parsian",
|
||||
name_farsi: "پارسیان",
|
||||
icon: <i className="ibl32 ibl-parsian" />,
|
||||
iban_nbc: "054",
|
||||
pan_iin: [
|
||||
"622106",
|
||||
"639194"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "pasargad",
|
||||
name_farsi: "پاسارگاد",
|
||||
icon: <i className="ibl32 ibl-bpi" />,
|
||||
iban_nbc: "057",
|
||||
pan_iin: [
|
||||
"502229",
|
||||
"639347"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "postbank",
|
||||
name_farsi: "پستبانک",
|
||||
icon: <i className="ibl32 ibl-post" />,
|
||||
iban_nbc: "021",
|
||||
pan_iin: [
|
||||
"627760"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "refah",
|
||||
name_farsi: "رفاه",
|
||||
icon: <i className="ibl32 ibl-rb2" />,
|
||||
iban_nbc: "013",
|
||||
pan_iin: [
|
||||
"589463"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "resalat",
|
||||
name_farsi: "رسالت",
|
||||
icon: <i className="ibl32 ibl-resalat" />,
|
||||
iban_nbc: "070",
|
||||
pan_iin: [
|
||||
"504172"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "saderat",
|
||||
name_farsi: "صادرات",
|
||||
icon: <i className="ibl32 ibl-bsi" />,
|
||||
iban_nbc: "019",
|
||||
pan_iin: [
|
||||
"603769"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "saman",
|
||||
name_farsi: "سامان",
|
||||
icon: <i className="ibl32 ibl-sb" />,
|
||||
iban_nbc: "056",
|
||||
pan_iin: [
|
||||
"621986"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "sanat_madan",
|
||||
name_farsi: "صنعت و معدن",
|
||||
icon: <i className="ibl32 ibl-bim" />,
|
||||
iban_nbc: "011",
|
||||
pan_iin: [
|
||||
"627961"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "sarmayeh",
|
||||
name_farsi: "سرمایه",
|
||||
icon: <i className="ibl32 ibl-sarmayeh" />,
|
||||
iban_nbc: "058",
|
||||
pan_iin: [
|
||||
"639607"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "sepah",
|
||||
name_farsi: "سپه",
|
||||
icon: <i className="ibl32 ibl-sepah" />,
|
||||
iban_nbc: "015",
|
||||
pan_iin: [
|
||||
"589210"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "shahr",
|
||||
name_farsi: "شهر",
|
||||
icon: <i className="ibl32 ibl-shahr" />,
|
||||
iban_nbc: "061",
|
||||
pan_iin: [
|
||||
"502806",
|
||||
"504706"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "sina",
|
||||
name_farsi: "سینا",
|
||||
icon: <i className="ibl32 ibl-sina" />,
|
||||
iban_nbc: "059",
|
||||
pan_iin: [
|
||||
"639346"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "tejarat",
|
||||
name_farsi: "تجارت",
|
||||
icon: <i className="ibl32 ibl-tejarat" />,
|
||||
iban_nbc: "018",
|
||||
pan_iin: [
|
||||
"585983",
|
||||
"627353"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "tosee_saderat",
|
||||
name_farsi: "توسعه صادرات",
|
||||
icon: <i className="ibl32 ibl-edbi" />,
|
||||
iban_nbc: "020",
|
||||
pan_iin: [
|
||||
"207177",
|
||||
"627648"
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "tosee_taavon",
|
||||
name_farsi: "توسعه تعاون",
|
||||
icon: <i className="ibl32 ibl-tt" />,
|
||||
iban_nbc: "022",
|
||||
pan_iin: [
|
||||
"502908"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
let cache: any = {};
|
||||
|
||||
export const findBankByPAN = (cardNumber: string | number) => {
|
||||
cardNumber = String(cardNumber);
|
||||
if (!/^[\d*]+$/.test(cardNumber) || cardNumber.length < 6) return {};
|
||||
const iin: string = cardNumber.slice(0, 6);
|
||||
|
||||
if (cache[iin]) {
|
||||
return cache[iin];
|
||||
} else {
|
||||
const bank: any = banks?.find((bank: any) => bank?.pan_iin.includes(iin))
|
||||
if (!bank) return {};
|
||||
cache[iin] = { ...bank };
|
||||
return bank;
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user