Перейти к основному содержимому

validIinChecksum

@mineflow/shared-validation


@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:

  1. если результат < 10 — это и есть контрольная цифра, сравнивается с 12-й;
  2. если результат == 10 — пересчёт по второму набору весов w2;
  3. если и w2 даёт >= 10 — контрольной цифры нет, ИИН невалиден.

Функция чистая и frontend-safe: не бросает исключений, не нормализует ввод (пробелы/дефисы/буквы дают false) и возвращает false на любой мусор. Это UX-слой формы, а не замена backend-валидации.

Parameters

ParameterTypeDescription
iinstringСтрока-кандидат ИИН (ожидается ровно 12 цифр без разделителей).

Returns

boolean

true, если контрольная цифра сходится; иначе false.

Example

validIinChecksum('900101350510'); // true | false по контрольной цифре
validIinChecksum('900101350510'.replace(/\D/g, '')); // нормализуй ввод заранее