agani_id_formatter 1.0.0 copy "agani_id_formatter: ^1.0.0" to clipboard
agani_id_formatter: ^1.0.0 copied to clipboard

Comprehensive Indonesian data formatter and validator. Format and validate Rupiah, NIK, NPWP, phone numbers, postal codes, bank accounts, dates, and more.

Agani ID Formatter #

pub package

Comprehensive Indonesian data formatter and validator package for Flutter. Format and validate Rupiah, NIK, NPWP, phone numbers, postal codes, bank accounts, dates, and more!

Features #

Rupiah Formatter - Format and parse Indonesian currency with decimal support ✅ NIK (ID Card) - Format, validate, and extract information ✅ NPWP (Tax ID) - Format and validate ✅ Phone Number - Format, validate, and detect operator ✅ Postal Code - Validate Indonesian postal codes ✅ Bank Account - Format bank account numbers ✅ Date Formatter - Indonesian date formats (long, short, full) ✅ Province Data - Complete list of Indonesian provinces ✅ Bank Data - 100+ Indonesian banks with codes ✅ E-Wallet Data - OVO, DANA, ShopeePay, GoPay, LinkAja

Installation #

Add this to your pubspec.yaml:

dependencies: agani_id_formatter: ^1.0.0

Then run: flutter pub get

Usage #

Rupiah Formatter #

import 'package:agani_id_formatter/agani_id_formatter.dart';

RupiahFormatter.format(1000000); // Rp1.000.000 RupiahFormatter.format(1500.50, decimal: 2); // Rp1.500,50 RupiahFormatter.format(-500000); // -Rp500.000

RupiahFormatter.parse('Rp1.000.000'); // 1000000.0

NIK (ID Card) Formatter & Validator #

NIKFormatter.format('3201234567890123'); // 320123.456789.0123

NIKValidator.validate('3201234567890123'); // true

var info = NIKFormatter.extract('3201234567890123'); print(info['provinceCode']); // 32 print(info['gender']); // Laki-laki print(info['birthDate']); // 1990-01-23

NPWP Formatter & Validator #

NPWPFormatter.format('123456789012345'); // 12.345.678.9-012.345

NPWPValidator.validate('123456789012345'); // true

Phone Number Formatter & Validator #

PhoneFormatter.format('081234567890'); // 0812-3456-7890 PhoneFormatter.format('081234567890', format: 'international'); // +62 812-3456-7890

PhoneValidator.validate('081234567890'); // true

PhoneValidator.getOperator('081234567890'); // Telkomsel

Date Formatter #

var date = DateTime(2024, 1, 1);

IndonesianDateFormatter.format(date); // 1 Januari 2024 IndonesianDateFormatter.format(date, format: 'full'); // Senin, 1 Januari 2024

IndonesianDateFormatter.parse('1 Januari 2024'); // DateTime

Province Data #

IndonesiaProvinces.getProvinceName('32'); // Jawa Barat

IndonesiaProvinces.getAllProvinceNames();

Bank Data #

IndonesiaBanks.getBankName('014'); // Bank BCA

IndonesiaBanks.searchBanks('BCA');

IndonesiaBanks.getAllBankNames();

E-Wallet Data #

IndonesiaEWallets.getEWalletByCode('OVO');

IndonesiaEWallets.validateEWalletNumber('OVO', '081234567890');

IndonesiaEWallets.getAllEWalletNames();

Complete Example #

Check the /example folder for a complete Flutter app demonstrating all features.

Contributing #

Contributions are welcome! Please feel free to submit a Pull Request.

License #

This project is licensed under the MIT License - see the LICENSE file for details.

Author #

Created by Abdul Gani Pohan

Changelog #

See CHANGELOG.md for version history.

1
likes
150
points
55
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Comprehensive Indonesian data formatter and validator. Format and validate Rupiah, NIK, NPWP, phone numbers, postal codes, bank accounts, dates, and more.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on agani_id_formatter