KRS
KRS (Krajowy Rejestr Sądowy) to numer nadawany podmiotom prawnym w Polsce przez sąd rejestrowy. Jest to 10-cyfrowy sekwencyjny numer rejestru.
import { Numerik } from '@slashlab/numerik-js'
// Szybkie sprawdzenieNumerik.krs().isValid('0000127206') // true
// Numery bez wiodących zer są akceptowane i normalizowaneNumerik.krs().isValid('127206') // true
// Pełny obiekt z danymiconst result = Numerik.krs().validate('0000127206')result.isValid // true
// Parsowanie do obiektu z danymiconst krs = Numerik.krs().parse('0000127206')
// Null zamiast wyjątku w przypadku błęduconst maybe = Numerik.krs().tryParse('bad-input') // nullMetody zwracanego obiektu
Dział zatytułowany „Metody zwracanego obiektu”parse() i tryParse() zwracają instancję Krs.
Podstawowe
Dział zatytułowany „Podstawowe”| Metoda | Typ zwracany | Opis |
|---|---|---|
getRaw() | string | Oryginalne dane wejściowe, bez zmian. |
getNormalized() | string | Same cyfry tak jak podane, bez dopełniania zerami. |
toString() | string | Alias dla getNormalized(). |
Formatowanie i metadane
Dział zatytułowany „Formatowanie i metadane”| Metoda | Typ zwracany | Opis |
|---|---|---|
getFormatted() | string | Dopełniony zerami do 10 cyfr, np. 0000127206. |
getNumericValue() | number | Liczbowa wartość całkowita numeru KRS. |
Przykłady
Dział zatytułowany „Przykłady”const krs = Numerik.krs().parse('0000127206')
krs.getRaw() // '0000127206'krs.getNormalized() // '0000127206'krs.getFormatted() // '0000127206'krs.getNumericValue() // 127206
// Skrócona forma — wiodące zera nie są wymagane w danych wejściowychconst krs2 = Numerik.krs().parse('127206')
krs2.getRaw() // '127206'krs2.getNormalized() // '127206'krs2.getFormatted() // '0000127206'krs2.getNumericValue() // 127206Powody błędów
Dział zatytułowany „Powody błędów”| Powód | Wartość | Warunek |
|---|---|---|
InvalidLength | invalid_length | Dane wejściowe są puste lub mają więcej niż 10 cyfr po normalizacji. |
InvalidCharacters | invalid_characters | Po usunięciu białych znaków pozostają znaki inne niż cyfry. |
AllZeros | all_zeros | Wszystkie cyfry to zero — wartość liczbowa wynosi 0, co nie jest prawidłowym numerem rejestru. |
AllSameDigit | all_same_digit | Wszystkie 10 cyfr jest identycznych — tylko tryb ścisły. |
Algorytm walidacji
Dział zatytułowany „Algorytm walidacji”KRS to sekwencyjny numer rejestru bez sumy kontrolnej. Walidacja ma charakter wyłącznie strukturalny:
- Usuń spacje. Sprawdź, czy pozostało od 1 do 10 cyfr.
- Sprawdź, czy wszystkie pozostałe znaki to cyfry.
- Sprawdź, czy wartość liczbowa nie wynosi zero.
- W trybie ścisłym dopełnij zerami do 10 cyfr i odrzuć dane wejściowe, w których wszystkie cyfry są identyczne; zwróć błąd
AllSameDigit.
Numer, który przeszedł te sprawdzenia, jest strukturalnie prawidłowy — jest zgodny z formatem KRS. Może, ale nie musi odpowiadać faktycznie zarejestrowanemu podmiotowi.