isValid static method
Checks if the provided idNumber is a valid South African ID number.
Returns true if the idNumber is valid; otherwise, returns false.
Implementation
static bool isValid(String idNumber) {
if (idNumber.length != 13) {
return false;
}
final yymmdd = idNumber.substring(0, 6);
final sequentialNumber = idNumber.substring(6, 10);
final citizenship = idNumber.substring(10, 11);
// String checksumDigit = idNumber.substring(12, 13);
if (!isValidDate(yymmdd)) {
return false;
}
if (!isValidSequentialNumber(sequentialNumber)) {
return false;
}
if (!isValidCitizenship(citizenship)) {
return false;
}
if (!isValidChecksum(idNumber)) {
return false;
}
return true;
}