/DNTPersianUtils.Core

DNTPersianUtils.Core is a collection of Persian helper extension methods

Primary LanguageC#Apache License 2.0Apache-2.0

DNTPersianUtils.Core

GitHub Actions status

DNTPersianUtils.Core کتابخانه‌ای است متشکل از متدهای الحاقی کمکی جهت کار با فرهنگ فارسی، در برنامه‌های مبتنی بر NET Core. و همچنین NET 4.x. برای نصب آن دستور ذیل را در کنسول پاورشل نیوگت اجرا کنید:

Nuget

PM> Install-Package DNTPersianUtils.Core

لیست متدها و امکانات این کتابخانه

نام متد/امکانات مثال خروجی نمونه
نمایش فارسی روز دریافتی dt.ToPersianDateTextify() سه شنبه ۲۱ دی ۱۳۹۵
نمایش دوستانه‌ی یک تاریخ و ساعت انگلیسی به شمسی dt.ToFriendlyPersianDateTextify() ‫۱۰ روز قبل، سه شنبه ۲۱ دی ۱۳۹۵، ساعت ۱۰:۲۰
تبدیلگر عدد به حروف 1234567.NumberToText(Language.Persian) یک میلیون و دویست و سی و چهار هزار و پانصد و شصت و هفت
نگارش اصلاح شده‌ی فرهنگ فارسی PersianCulture.Instance در این فرهنگ تاریخ میلادی با شمسی جایگزین شده‌است
تبدیل تاریخ و زمان رشته‌ای شمسی به میلادی "1395/11/3 7:30".ToGregorianDateTime() new DateTime(2017, 1, 22, 7, 30, 0)
تبدیل تاریخ میلادی به شمسی dt.ToLongPersianDateString() ‫21 دی 1395
تبدیل تاریخ میلادی به شمسی dt.ToLongPersianDateTimeString() ‫21 دی 1395، 10:20:02 ق.ظ
تبدیل تاریخ میلادی به شمسی dt.ToPersianDateTimeString("dd MMMM yyyy") این تبدیل بر اساس فرهنگ اصلاح شده‌ی فارسی صورت می‌گیرد. مانند
dt.ToPersianDateTimeString("dd MMMM yyyy - HH:mm")
‫ با این خروجی فرضی: «21 دی 1395 - 10:20»
تبدیل تاریخ میلادی به شمسی dt.ToShortPersianDateString() 1395/10/21
تبدیل تاریخ میلادی به شمسی dt.ToShortPersianDateTimeString() 1395/10/21 10:20
تاریخ روزهای ابتدا و انتهای سال شمسی dt.GetPersianYearStartAndEndDates() مثال
تاریخ روزهای ابتدا و انتهای ماه شمسی dt.GetPersianMonthStartAndEndDates() مثال
تاریخ روزهای ابتدا و انتهای هفته شمسی dt.GetPersianWeekStartAndEndDates() مثال
تبدیل عدد انگلیسی به فارسی 123.ToPersianNumbers() ۱۲۳
آیا عبارت مدنظر حاوی حروف فارسی است؟ "Abc تست".ContainsFarsi() true
اصلاح ی و ک عربی به فارسی "می‌شود".ApplyCorrectYeKe() می‌شود
راست به چپ کردن یک متن ساده مخلوط برای نمایش در محیط‌های چپ به راست مانند فید خوان‌ها "سلام Abc".ApplyRle() Abc سلام
محاسبه سن DateTime.Now.AddYears(-9).GetAge() 9
آیا تاریخ و زمان مدنظر آغاز سال نوی شمسی است؟ dt.IsStartOfNewYear() true/false
مجموعه کلمات بی‌اثر زبان فارسی PersianStopwords.List مفید برای تنظیمات جستجوهای تمام متنی
‫ نرمال کردن متون. پارامتر آن قابلیت ترکیب را دارد. "'تست'".NormalizePersianText(
PersianNormalizers.ConvertEnglishQuotes)
«تست»
لیست مناطق و استان‌ها Iran.Provinces Iran.Provinces لیست تو در توی استان‌ها و شهرهای ایران
مناسبت‌های تعطیلات رسمی ایران Iran.Holidays مناسبت‌های تعطیلات رسمی ایران از سال 1395 تا پایان سال 1398
دریافت لیست روزهای کاری یک بازه زمانی IranHolidays.GetBusinessDays() روزهای کاری ایران از سال 1395 تا پایان سال 1398
تبدیل تاریخ میلادی به قمری new DateTime(2018, 08, 31).ToIslamicDay() new IslamicDay(1439, 12, 19)
تبدیل تاریخ شمسی به قمری IslamicDateUtils.PersianDayToIslamicDay(1397, 6, 9) new IslamicDay(1439, 12, 19)

اعتبارسنج‌ها

نام متد/امکانات مثال خروجی نمونه
تعیین اعتبار تاریخ و زمان رشته‌ای شمسی "1395/12/30".IsValidPersianDateTime()
‫به همراه [ValidPersianDateTime] مخصوص MVC
true
بررسی اعتبار کد ملی "0010350829".IsValidIranianNationalCode()
‫به همراه [ValidIranianNationalCode] مخصوص MVC
true
بررسی اعتبار کد بانکی شبا "IR820540102680020817909002".
IsValidIranShebaNumber()
‫به همراه [ValidIranShebaNumber] مخصوص MVC
true
بررسی اعتبار کد بانکی شتاب "6221061106498670".
IsValidIranShetabNumber()
‫به همراه [ValidIranShetabNumber] مخصوص MVC
true
بررسی اعتبار شماره موبایل "09901464762".
IsValidIranianMobileNumber()
‫به همراه [ValidIranianMobileNumber] مخصوص MVC
true
بررسی اعتبار شماره تلفن "37236445".
IsValidIranianPhoneNumber()
‫به همراه [ValidIranianPhoneNumber] مخصوص MVC
true
بررسی اعتبار کد پستی "1619735744".
IsValidIranianPostalCode()
‫به همراه [ValidIranianPostalCode] مخصوص MVC
true
بررسی اعتبار اعداد تمام فارسی "۹۹۹۹۹".
ContainsOnlyPersianNumbers()
‫به همراه [ShouldContainOnlyPersianNumbers] مخصوص MVC
true
بررسی اعتبار حروف و يا اعداد فارسی بودن تنها قسمتی از متن "Abc تست".
ContainsFarsi()
‫به همراه [ShouldContainPersianLettersOrNumbers] مخصوص MVC
true
بررسی اعتبار حروف فارسی بودن تمام متن "تست".
ContainsOnlyFarsiLetters()
‫به همراه [ShouldContainOnlyPersianLetters] مخصوص MVC
true
بررسی اعتبار شناسه ملی حقوقی "14005893875".IsValidIranianNationalLegalCode()
‫به همراه [ValidIranianNationalLegalCodeAttribute] مخصوص MVC
true

نحوه کار با اطلاعات استان‌ها

foreach (var province in Iran.Provinces)
{
     foreach (var county in province.Counties)
     {
          foreach (var district in county.Districts)
          {
                foreach (var city in district.Cities)
                {
                }
          }
     }
}