KRS
KRS (Krajowy Rejestr Sądowy) to sekwencyjny numer nadawany podmiotom prawnym przy wpisie do rejestru. Składa się z maksymalnie 10 cyfr.
use SlashLab\Numerik\Numerik;
// Szybkie sprawdzenieNumerik::krs()->isValid('0000127206'); // true
// Zera wiodące nie są wymagane — numer zostanie dopełniony przy formatowaniuNumerik::krs()->isValid('127206'); // true
// Pełny obiekt z danymi$result = Numerik::krs()->validate('0000127206');$result->isValid; // true
// Parsowanie do obiektu z danymi$krs = Numerik::krs()->parse('0000127206');
// Null zamiast wyjątku$krs = Numerik::krs()->tryParse('zły-numer'); // nullMetody zwracanego obiektu
Dział zatytułowany „Metody zwracanego obiektu”parse() i tryParse() zwracają instancję SlashLab\Numerik\ValueObjects\Krs.
Podstawowe
Dział zatytułowany „Podstawowe”| Metoda | Typ zwracany | Opis |
|---|---|---|
getRaw() | string | Oryginalny numer, bez zmian. |
getNormalized() | string | Same cyfry tak jak podane, bez dopełniania zerami. |
__toString() | string | To samo co getNormalized(). |
Formatowanie i metadane
Dział zatytułowany „Formatowanie i metadane”| Metoda | Typ zwracany | Opis |
|---|---|---|
getFormatted() | string | Numer dopełniony zerami do 10 cyfr, np. 0000127206. |
getNumericValue() | int | Numeryczna wartość całkowita numeru KRS. |
Przykłady
Dział zatytułowany „Przykłady”$krs = Numerik::krs()->parse('0000127206');
$krs->getRaw(); // '0000127206'$krs->getNormalized(); // '0000127206'$krs->getFormatted(); // '0000127206'$krs->getNumericValue(); // 127206
// Zera wiodące nie są wymagane na wejściu$krs = Numerik::krs()->parse('127206');
$krs->getRaw(); // '127206'$krs->getNormalized(); // '127206'$krs->getFormatted(); // '0000127206'$krs->getNumericValue(); // 127206Algorytm walidacji
Dział zatytułowany „Algorytm walidacji”KRS to numer sekwencyjny bez sumy kontrolnej. Walidacja jest wyłącznie strukturalna:
- Usuń spacje. Wymagaj od 1 do 10 cyfr.
- Sprawdź, że wszystkie pozostałe znaki są cyframi.
- Sprawdź, że wartość numeryczna nie wynosi zero.
- W trybie ścisłym: dopełnij do 10 cyfr zerami i odrzuć wejścia z identycznymi cyframi — błąd
AllSameDigit.
Numer, który przechodzi te sprawdzenia, jest strukturalnie prawidłowy — odpowiada formatowi KRS, ale nie gwarantuje, że podmiot o takim numerze istnieje w rejestrze.
Powody błędów
Dział zatytułowany „Powody błędów”| Powód | Wartość | Warunek |
|---|---|---|
InvalidLength | invalid_length | Numer ma więcej niż 10 cyfr po normalizacji. |
InvalidCharacters | invalid_characters | Po usunięciu białych znaków pozostały znaki niebędące cyframi. |
AllZeros | all_zeros | Wartość numeryczna wynosi 0 — nie jest prawidłowym numerem rejestru. |
AllSameDigit | all_same_digit | Wszystkie 10 cyfr jest identycznych — tylko w trybie ścisłym. |
If this saved you time → ☕ Buy me a coffee