Package Exports
- shaba
 - shaba/dist/shaba.min.js
 
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (shaba) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
shaba
اعتبار سنجی شماره شبا، شماره کارت و تشخیص بانک (به همراه تصویر)
پیشنمایش: کلیک کنید - جایگذین | نسخه به همراه 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 | 
| بانک کشاورزی | ۶۰۳۷۷۰ | /(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 |