Tanzania common ID Card patterns
# tan-ids
`tan-ids` is a simple utility for validating and identifying Tanzanian identification numbers, including National ID (NIDA), Voter ID (KURA), Driver's License (LESENI), Passport (PASIPOTI), and Zanzibar Resident ID (ZAN ID).
## Installation
You can install `tan-ids` via npm:
```sh
npm install tan-ids
```
## Usage
### Importing the Module
```javascript
import ID_TYPES, { matchIdType } from 'tan-ids';
```
### Validating and Identifying an ID
```javascript
const idNumber = 'T1234-5678-901-2';
const idType = matchIdType(idNumber);
if (idType) {
console.log(`ID Type: ${idType.name} (${idType.code})`);
} else {
console.log('Invalid ID number');
}
```
### List of Supported ID Types
The package includes the following Tanzanian ID types:
| Name | Code | Example Format |
|-------------------------------------|--------|----------------------|
| Kitambulisho cha Taifa (National ID) | NIDA | 12345678-12345-12345-12 |
| Kitambulisho cha Mpiga Kura (Voter ID) | KURA | T1234-5678-901-2 |
| Leseni ya Udereva (Driver's License) | LESENI | 1234567890 |
| Hati ya Kusafiria (Passport) | PASIPOTI | AB123456 |
| Kitambulisho cha Mkazi wa Zanzibar | ZAN ID | 123456789 |
## API
### `matchIdType(idNumber: string): ID_TYPE | null`
- Takes an ID number as input (string) and returns the corresponding ID type if valid, otherwise returns `null`.
- The function automatically removes spaces and dashes before matching.
### `ID_TYPES`
- An array of ID type objects, each containing:
- `name`: The full name of the ID type.
- `code`: A short code representing the ID type.
- `pattern`: A regex pattern for validation.
- `readable_pattern`: A human-readable format pattern.
## License
MIT