validBinChecksum
@mineflow/shared-validation / validBinChecksum
Function: validBinChecksum()
function validBinChecksum(bin: string): boolean;
Defined in: bin-checksum.ts:59
Проверяет контрольную цифру БИН РК по алгоритму НК РК.
Алгоритм идентичен validIinChecksum (разнесены лишь для семантической
чистоты: БИН — идентификатор организации, ИИН — физлица/ИП). Сначала отсекает
структурно невалидный ввод (не строка, не ровно 12 символов, нецифровые
символы). Затем по первым 11 цифрам считает sum(d_i * w1_i) mod 11:
- если результат
< 10— это контрольная цифра, сравнивается с 12-й; - если результат
== 10— пересчёт по второму набору весов w2; - если и w2 даёт
>= 10— контрольной цифры нет, БИН невалиден.
Функция чистая и frontend-safe: не бросает исключений, не нормализует ввод
(пробелы/дефисы/буквы дают false). UX-слой формы, не замена backend-проверки
инварианта SCM-SUP-INV-06.
Parameters
| Parameter | Type | Description |
|---|---|---|
bin | string | Строка-кандидат БИН (ожидается ровно 12 цифр без разделителей). |
Returns
boolean
true, если контрольная цифра сходится; иначе false.
Example
validBinChecksum('123456789012'); // true | false