Persian Utils Documentation
Welcome to the Persian Utils library documentation. This comprehensive Java library provides robust tools for Persian/Farsi language processing, including date conversion, number formatting, text processing, and validation of Iranian standards.
Quick Links
Installation
Maven
<dependency>
<groupId>io.github.jamalianpour</groupId>
<artifactId>persian-utils</artifactId>
<version>0.5.0</version>
</dependency>
Features Overview
📅 Date & Time
Complete Jalali (Persian/Shamsi) calendar implementation with conversion, formatting, and holiday
support, plus pattern-based formatting and parsing with JalaliFormatter.
🔢 Number Utilities
Convert between Persian, Arabic, and English digits. Format numbers with separators and convert to words.
📝 Text Processing
Detect, normalize, and process Persian text with support for direction detection and URL slug generation.
✅ Validation
Validate Iranian national IDs, IBANs, phone numbers, postal codes, and ATM cards — directly, or declaratively with Bean Validation annotations on your DTOs.
Quick Start
// Jalali Date
JalaliDate date = JalaliDate.of(1404, 1, 1);
System.out.println(date.format(DateFormat.FULL));
// Output: جمعه 1 فروردین 1404
// ...or with a custom pattern and Persian digits
System.out.println(JalaliFormatter.PERSIAN_FULL.format(date));
// Output: جمعه ۱ فروردین ۱۴۰۴
// Number Conversion
String persian = PersianNumberConverter.toPersianDigits("1234");
// Output: ۱۲۳۴
String words = NumberToWords.toPersian(123);
// Output: یکصد و بیست و سه
// Validation
boolean valid = IranianNationalId.isValid("0499370899");
Documentation Sections
Usage Guide
Comprehensive guide covering all features with detailed explanations and examples.
API Reference
Complete API documentation for all classes and methods.
Code Examples
Practical code examples and common use cases.
Support
- Issues: GitHub Issues
- Email: jamalian.mjp@gmail.com
License
Apache License - see LICENSE for details.