validIinChecksum
@mineflow/shared-validation / validIinChecksum
Function: validIinChecksum()
function validIinChecksum(iin: string): boolean;
Defined in: iin-checksum.ts:54
Проверяет контрольную цифру ИИН РК по алгоритму НК РК.
Сначала отсекает структурно невалидный ввод (не строка, не ровно 12 символов,
наличие нецифровых символов). Затем берёт первые 11 цифр и считает
sum(d_i * w1_i) mod 11:
- если результат
< 10— это и есть контрольная цифра, сравнивается с 12-й; - если результат
== 10— пересчёт по второму набору весов w2; - если и w2 даёт
>= 10— контрольной цифры нет, ИИН невалиден.
Функция чистая и frontend-safe: не бросает исключений, не нормализует ввод
(пробелы/дефисы/буквы дают false) и возвращает false на любой мусор.
Это UX-слой формы, а не замена backend-валидации.