اعتبار سنجی شماره شبا، شماره کارت و تشخیص بانک (به همراه تصویر)
پیشنمایش: کلیک کنید - جایگذین | نسخه به همراه jquery در codepen
contribution: create pull/merge request on branch name shaba{weeknumber}{month}{year}
CDN:
<script src="https://cdn.jsdelivr.net/gh/smohamadabedy/shaba@latest/dist/shaba.min.js"></script>NPM:
npm install shaba
const card = shaba.convertPersianToEnglishDigits('۶۰۳۷۹۹...');
const isValid = shaba.validateCard(card);
const prefix = card.slice(0, 6);
const bank = shaba.getBankFromCard(prefix);
console.log(bank); // ["meli", "603799", "بانک ملی"]
convertPersianToEnglishDigits(str)— تبدیل ارقام فارسی/عربی به انگلیسیvalidateCard(cardNumber)— بررسی اعتبار شماره کارتgetBankFromCard(prefix)— دریافت اطلاعات بانک از روی شماره کارتgetBankFromShaba(code)— دریافت بانک از کد شبا
<img src="https://cdn.jsdelivr.net/gh/smohamadabedy/shaba@latest/bank-iran/meli.png"><!-- نمایش لوگوی بانک کارت --> <img width="32px" id="cardBankLogo" src="https://cdn.jsdelivr.net/gh/smohamadabedy/shaba@latest/bank-iran/no-img.png"><span id="cardName"></span> <!-- ورودی شماره کارت (با جهت چپ به راست برای اعداد) --> <input type="text" id="cardInput" class="creditcart-input" style="direction:ltr" placeholder="شماره کارت را وارد کنید"> <!-- نمایش لوگوی بانک شبا --> <img width="32px" id="shabaBankLogo" src="https://cdn.jsdelivr.net/gh/smohamadabedy/shaba@latest/bank-iran/no-img.png"><span id="shabaName"></span> <!-- ورودی شماره شبا --> <input type="text" id="shabaInput" class="shaba-input" style="direction:ltr" placeholder="کد شبا را وارد کنید"><script src="https://cdn.jsdelivr.net/gh/smohamadabedy/shaba@latest/dist/shaba.min.js"></script> <script type="text/javascript"> // گرفتن المانهای ورودی از صفحه const $card = document.getElementById('cardInput'); const $shaba = document.getElementById('shabaInput'); // وقتی شماره کارت تغییر میکند: $card.addEventListener('input', function () { const card = shaba.convertPersianToEnglishDigits(this.value); // تبدیل ارقام فارسی به انگلیسی const isValid = shaba.validateCard(card); // بررسی اعتبار کارت بانکی با الگوریتم Luhn const prefix = card.slice(0, 6); // گرفتن ۶ رقم اول کارت const bank = shaba.getBankFromCard(prefix); // گرفتن اطلاعات بانک از روی شماره کارت // تغییر تصویر لوگوی بانک document.getElementById('cardBankLogo').src = "https://cdn.jsdelivr.net/gh/smohamadabedy/shaba@latest/bank-iran/" + bank[0] + ".png"; document.getElementById('cardName').innerHTML = bank[2]; //نمایش نام بانک // رنگ حاشیه را سبز یا قرمز نمایش بده بر اساس اعتبار کارت this.style.borderColor = isValid ? 'green' : 'red'; }); // وقتی شبا تغییر میکند: $shaba.addEventListener('input', function () { // پاکسازی شبا از - و تبدیل اعداد فارسی/عربی به انگلیسی const input = shaba.convertPersianToEnglishDigits(this.value.toUpperCase().replace(/-/g, '')); const code = input.slice(2, 5); // استخراج کد بانک از شبا const bank = shaba.getBankFromShaba(code); // گرفتن اطلاعات بانک از شبا // تغییر تصویر لوگوی بانک document.getElementById('shabaBankLogo').src = "https://cdn.jsdelivr.net/gh/smohamadabedy/shaba@latest/bank-iran/" + bank[0] + ".png"; document.getElementById('shabaName').innerHTML = bank[1]; //نمایش نام بانک // آمادهسازی و اعتبارسنجی با استاندارد ISO 7064 (Mod97) const prepared = shaba.iso13616Prepare(input); const valid = shaba.iso7064Mod97_10(prepared) === 1; // رنگ حاشیه ورودی را مشخص کن this.style.borderColor = valid ? 'green' : 'red'; }); </script>
| ردیف | نام بانک | شناسه بانک | الگوی رجکس |
|---|---|---|---|
| 1 | بانک مرکزی جمهوری اسلامی ایران | 010 | /\d{2}(010)\d+/g |
| 2 | بانک صنعت و معدن | 011 | /\d{2}(011)\d+/g |
| 3 | بانک ملت | 012 | /\d{2}(012)\d+/g |
| 4 | بانک رفاه | 013 | /\d{2}(013)\d+/g |
| 5 | بانک مسکن | 014 | /\d{2}(014)\d+/g |
| 6 | بانک سپه | 015 | /\d{2}(015)\d+/g |
| 7 | بانک کشاورزی | 016 | /\d{2}(016)\d+/g |
| 8 | بانک ملی ایران | 017 | /\d{2}(017)\d+/g |
| 9 | بانک تجارت | 018 | /\d{2}(018)\d+/g |
| 10 | بانک صادرات ایران | 019 | /\d{2}(019)\d+/g |
| 11 | بانک توسعه صادرات | 020 | /\d{2}(020)\d+/g |
| 12 | پست بانک ایران | 021 | /\d{2}(021)\d+/g |
| 13 | بانک توسعه تعاون | 022 | /\d{2}(022)\d+/g |
| 14 | موسسه اعتباری توسعه | 051 | /\d{2}(051)\d+/g |
| 15 | بانک کارآفرین | 053 | /\d{2}(053)\d+/g |
| 16 | بانک پارسیان | 054 | /\d{2}(054)\d+/g |
| 17 | بانک اقتصاد نوین | 055 | /\d{2}(055)\d+/g |
| 18 | بانک سامان | 056 | /\d{2}(056)\d+/g |
| 19 | بانک پاسارگاد | 057 | /\d{2}(057)\d+/g |
| 20 | بانک سرمایه | 058 | /\d{2}(058)\d+/g |
| 21 | بانک سینا | 059 | /\d{2}(059)\d+/g |
| 22 | قرض الحسنه مهر | 060 | /\d{2}(060)\d+/g |
| 23 | بانک شهر | 061 | /\d{2}(061)\d+/g |
| 24 | بانک آینده | 062 | /\d{2}(062)\d+/g |
| 25 | بانک انصار | 063 | /\d{2}(063)\d+/g |
| 26 | بانک گردشگری | 064 | /\d{2}(064)\d+/g |
| 27 | بانک حکمت ایرانیان | 065 | /\d{2}(065)\d+/g |
| 28 | بانک دی | 066 | /\d{2}(066)\d+/g |
| 29 | بانک ایران زمین | 069 | /\d{2}(069)\d+/g |
| نام بانک | پیش شماره | الگوی رجکس |
|---|---|---|
| بانک ملی | ۶۰۳۷۹۹ | /(603799)\d+/g |
| بانک سامان | ۶۲۱۹۸۶ | /(621986)\d+/g |
| بانک سپه | ۵۸۹۲۱۰ | /(589210)\d+/g |
| بانک سینا | ۶۳۹۳۴۶ | /(639346)\d+/g |
| بانک توسعه صادرات | ۶۲۷۶۴۸ | /(627648)\d+/g |
| بانک سرمایه | ۶۳۹۶۰۷ | /(639607)\d+/g |
| بانک صنعت و معدن | ۶۲۷۹۶۱ | /(627961)\d+/g |
| بانک شهر | ۵۰۴۷۰۶ | /(504706)\d+/g |
| بانک آینده | ۶۳۶۲۱۴ | /(636214)\d+/g |
| بانک کشاورزی | ۶۰۳۷۷۰ | /(603770)\d+/g |
| بانک دی | ۵۰۲۹۳۸ | /(502938)\d+/g |
| بانک مسکن | ۶۲۸۰۲۳ | /(628023)\d+/g |
| بانک صادرات | ۶۰۳۷۶۹ | /(603769)\d+/g |
| پست بانک | ۶۲۷۷۶۰ | /(627760)\d+/g |
| بانک ملت | ۶۱۰۴۳۳ | /(610433)\d+/g |
| بانک توسعه تعاون | ۵۰۲۹۰۸ | /(502908)\d+/g |
| بانک تجارت | ۶۲۷۳۵۳ | /(627383)\d+/g |
| بانک اقتصاد نوین | ۶۲۷۴۱۲ | /(627412)\d+/g |
| بانک رفاه | ۵۸۹۴۶۳ | /(589463)\d+/g |
| بانک پارسیان | ۶۲۲۱۰۶ | /(622106)\d+/g |
| موسسه نور | ۵۰۷۶۷۷ | /(507677)\d+/g |
| بانک پاسارگاد | ۵۰۲۲۲۹ | /(502229)\d+/g |
| موسسه ملل | ۶۰۶۲۵۶ | /(606256)\d+/g |
| بانک قوامین | ۶۳۹۵۹۹ | /(639599)\d+/g |
| بانک قرض الحسنه مهر ایرانیان | ۶۰۶۳۷۳ | /(606373)\d+/g |
| بانک کارآفرین | ۶۲۷۴۸۸ | /(627488)\d+/g |
| بانک گردشگری | ۵۰۵۴۱۶ | /(505416)\d+/g |