rsa_id_number 1.0.2 copy "rsa_id_number: ^1.0.2" to clipboard
rsa_id_number: ^1.0.2 copied to clipboard

A dart utility package for validating and generating South African ID numbers.

rsa_id_number #

A Dart package for validating and generating South African ID numbers.

Features #

  • Validation: Validate South African ID numbers based on the specified format.
  • Generation: Generate random South African ID numbers.
  • Parser: Parse string(ID numbers) to Object

Installation #

Add the following line to your pubspec.yaml file:

dependencies:
  rsa_id_number:

Then run:

$ pub get

or

$ flutter pub get

Usage #

Validation #

import 'package:rsa_id_number/rsa_id_validator.dart';

void main() {
  String idToValidate = '9202204720082';
  bool isValid = RsaIdValidator.isValid(idToValidate);
  print('Is valid ID: $isValid');
}

Generation #

import 'package:rsa_id_number/rsa_id_generator.dart';

void main() {
  /// generate a random/valid SA id number
  final rsaIdNumber = RsaIdGenerator.generate();
  log('Generated ID: $rsaIdNumber');

  /// generate with options
  final rsaIdNumber2 = RsaIdGenerator.generate(
    gender: Gender.FEMALE,
    citizenship: Citizenship.CITIZEN_BORN,
    maxDate: DateTime(1969),
    minDate: DateTime.now(),
  );
  log('Generated ID: $rsaIdNumber2');
}

Parser #

import 'package:rsa_id_number/rsa_id_generator.dart';

void main() {
  String idNumber = "8801235121088";
  RsaIdParser parser = RsaIdParser.parse(idNumber);

  print('Date of Birth: ${parser.dateOfBirth}');
  print('Gender: ${parser.sex}');
  print('Citizenship: ${parser.citizenship}');
  print('Race: ${parser.race}');
  print('Is Valid: ${parser.isValid}');
}

Contributing #

Feel free to contribute to this project by submitting issues and pull requests.

License #

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

4
likes
150
pub points
57%
popularity

Publisher

verified publishermakhosandile.me

A dart utility package for validating and generating South African ID numbers.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

intl, luhn_algorithm, meta

More

Packages that depend on rsa_id_number