Все для создания и продвижения сайтов

Верстка, программирование, SEO

Проверка ОГРН и ОГРНИП на TypeScript

295
Проверка ОГРН и ОГРНИП на TypeScript

В данной заметке вы сможете увидеть функцию по проверки ОГРН и ОГРНИП на языке TypeScript. Помимо количества символов, нужно проверять по формуле связанной с контрольной суммой, её можно найти в интернете. Работает как со строками, так и с числами, проверяет на 13 значные ОГРН (для организации) и 15 значные ОГРНИП (для ИП);

const checkOGRN = {
    entrepreneur(ogrn: number[]): boolean {
        return (ogrn.length === 13) && (ogrn[12] === Math.floor((Number(ogrn.join('')) / 10) % 11) % 10);
    },
    business(ogrn: number[]): boolean {
        return (ogrn.length === 15) && (ogrn[14] === Math.floor((Number(ogrn.join('')) / 10) % 13) % 10);
    }
};

export const isValidOGRN = (value: string | number): boolean => {
    const ogrn = String(value).split('').map(Number);

    return checkOGRN.business(ogrn) || checkOGRN.entrepreneur(ogrn);
};


Пример использования:

console.log(isValidOGRN('1037739010891')); // true
console.log(isValidOGRN(1037739010891)); // true
console.log(isValidOGRN('1234567890123')); // false
console.log(isValidOGRN('304500116000157')); // true
console.log(isValidOGRN('123456789012345')); // false
Выделите опечатку и нажмите Ctrl + Enter, чтобы отправить сообщение об ошибке.