-
۹ خرداد ماه ۱۴۰۳ ساعت ۹:۳۵ دقیقه
-
کاربر شماره ۲۷۱۰۰۳
-
در این بخش کاربران پیرامون تبدیل اطلاعات شماره کارت بانکی به شماره شبا و مسایل پیرامون تبادل نظر خواهند کرد.
البته موارد مانند صحت اطلاعات شماره کارت بانک ها و یا صحت اطلاعات شماره شبای بانکی نیز مورد بررسی قرار می گیرد
-
-
۹ خرداد ماه ۱۴۰۳ ساعت ۹:۳۹ دقیقه
-
کاربر شماره ۲۷۱۰۰۳
-
تشخیص اطلاعات شماره شبای بانکی در نمونه ذیل مورد استفاده قرار گرفته است :
public static bool CheckSheba(string input, bool checkLenght) { if (string.IsNullOrWhiteSpace( input)) { return false; } input = input.Replace(" ", "").ToLower(); //بررسی رشته وارد شده برای اینکه در فرمت شبا باشد var isSheba = Regex.IsMatch(input, "^[a-zA-Z]{2}\d{2} ?\d{4} ?\d{4} ?\d{4} ?\d{4} ?[\d]{0,2}", RegexOptions.Compiled); if (!isSheba) return false; //طول شماره شبا را چک میکند کمتر نباشد if (input.Length < 26) return false; input = input.ToLower(); //بررسی اعتبار سنجی اصلی شبا ////ابتدا گرفتن چهار رقم اول شبا var get4FirstDigit = input.Substring(0, 4); ////جایگزین کردن عدد 18 و 27 به جای آی و آر var replacedGet4FirstDigit = get4FirstDigit.ToLower().Replace("i", "18").Replace("r", "27"); ////حذف چهار رقم اول از رشته شبا var removedShebaFirst4Digit = input.Replace(get4FirstDigit, ""); ////کانکت کردن شبای باقیمانده با جایگزین شده چهار رقم اول var newSheba = removedShebaFirst4Digit + replacedGet4FirstDigit; ////تبدیل کردن شبا به عدد - دسیمال تا 28 رقم را نگه میدارد var finalLongData = Convert.ToDecimal(newSheba); ////تقسیم عدد نهایی به مقدار 97 - اگر باقیمانده برابر با عدد یک شود این رشته شبا صحیح خواهد بود var finalReminder = finalLongData % 97; if (finalReminder == 1) { return true; } return false; }
-