Проверка ОГРН и ОГРНИП на TypeScript
8952
В данной заметке вы сможете увидеть функцию по проверки ОГРН и ОГРНИП на языке 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
Оставить комментарий