The South African ID Number Validator is a Java-based tool designed to verify the authenticity of South African ID numbers according to official government specifications. It ensures compliance with structural, logical, and checksum requirements, providing detailed validation feedback.
π South African ID Number Validator
Java
Gradle
A Java application that validates South African ID numbers according to the official specifications, with an interactive user interface.
β¨ Features
β
Comprehensive Validation:
Correct length (13 digits)
Valid date of birth (YYMMDD format)
Proper gender designation (0000-4999 for female, 5000-9999 for male)
Valid citizenship digit (0 for citizen, 1 for permanent resident)
Correct checksum digit (Luhn algorithm verification)
π» Interactive CLI:
Continuous input until user exits
Detailed validation feedback
Breakdown of valid ID numbers (date of birth, gender, citizenship)
π§ͺ Test Coverage:
Comprehensive unit tests covering all validation rules
βοΈ Requirements
β Java JDK 11 or higher
π οΈ Gradle 7.0 or higher (for building)
π Installation & Usage
1. Clone the repository:
git clone
github.com
cd validation_sa_id
2.Build the project:
./gradlew build
3. Run the application:
./gradlew run
ποΈ Project Structure
π¦ validation_sa_id
βββ π src
β βββ π main/java # Main application code
β βββ π test/java # Unit tests
βββ π build.gradle # Gradle build configuration
βββ π settings.gradle # Project settings
βββ π README.md # This file