Skip to content

Library to validate/check and retrieve ID number info for South African IDs

License

Notifications You must be signed in to change notification settings

kimvanwyk/za-identity-number

 
 

Repository files navigation

za_identity_number

Library to validate/check and retrieve ID number info for South African IDs

Installation:

pip:

pip install za-id-nnumber

poetry:

poetry add za-id-nnumber

ZA Id Numbers:

ZA id numbers are based on a luhn algorithm validation, with the last number validating that the entire number is correct.

ZA ID number is broken up into 2 digits birth year, 2 digits birth month, 2 digits birth date, 4 digits for gender, 1 digit for citizenship (za/other), 1 digit race (phased out after 1980) 1 digit for validation.

For more info: https://www.westerncape.gov.za/sites/www.westerncape.gov.za/files/sa-id-number-new.png

Easiest ZA ID validation is the length. The length must be exactly 13 integers.

Example:

from za_id_number.za_identity_number import SouthAfricanIdentityValidate

if __name__ == "__main__":
    za_validation = SouthAfricanIdentityValidate("9202204720082")
    valid = za_validation.validate()
    za_identity = za_validation.identity()
    print(f"Valid: {valid}, Identity: {za_identity}")

Methods:

SouthAfricanIdentityValidate("9202204720082").validate()
SouthAfricanIdentityValidate("9202204720082").identity()
SouthAfricanIdentityValidate("9202204720082").gender()
SouthAfricanIdentityValidate("9202204720082").citizen()
SouthAfricanIdentityValidate("9202204720082")identity_length()
SouthAfricanIdentityValidate("9202204720082").age()


About

Library to validate/check and retrieve ID number info for South African IDs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%