SAIDValidator
SAIDValidator is an ASP.NET webservice to validate South African Person ID numbers. It provides validation of a person ID by calculating the check-digit (digit-13), and extracts the date-of-birth, gender, citizenship, sequence and other information.
Location
SAIDValidator is located at: http://xml-fx.com/services/SAIDValidator/SAIDValidator.asmx.
SA Person ID definition
A South African person identification number is a 13-digit number containing only numeric characters, and no whitespace, punctuation, or alpha characters. It is defined as follows:
YYMMDDGSSSCAZ
YYMMDD : Date of birth (DOB)
G : Gender. 0-4 Female; 5-9 Male
SSS : Sequence No. for DOB/G combination
C : Citizenship. 0 SA; 1 Other
A : Usually 8, or 9 but can be other values
Z : Calculated control (check) digit |
The control digit (Z) is calculated as follows:
Using ID Number 8001015009087 as an example:
Add all the digits in the odd positions (excluding last digit).
8 + 0 + 0 + 5 + 0 + 0 = 13 .............................[1]
Move the even positions into a field and multiply the number by 2.
011098 x 2 = 22196 .....................................[2]
Add the digits of the result in [2].
2 + 2 + 1 + 9 + 6 = 20 .................................[3]
Add the answer in [3] to the answer in [1].
13 + 20 = 33 ...........................................[4]
Subtract the second digit of [4](i.e. 3) from 10. The number must tally with the last number in the ID Number. If the result is 2 digits, the last digit is used to compare against the last number in the ID Number. If the answer differs, the ID number is invalid. |
Information sections
Documentation |
Standard WSDL service description and web method documentation. |
Schemas |
The XML-schemas for the different object types used as parameters and return values of the webservice methods. |
Blog |
The original blog post for more information: How to validate SA Identity Numbers. |
Test Page |
A standard input form that when submitted returns an analysis and validation of the ID number. It calls the SAIDValidator webservice. |