Wykop.pl Wykop.pl
  • Główna
  • Wykopalisko209
  • Hity
  • Mikroblog
  • Zaloguj się
  • Zarejestruj się
Zaloguj się

Popularne tagi

  • #ciekawostki
  • #informacje
  • #technologia
  • #polska
  • #swiat
  • #motoryzacja
  • #podroze
  • #heheszki
  • #sport

Wykop

  • Ranking
  • Osiągnięcia
  • FAQ
  • O nas
  • Kontakt
  • Reklama
  • Regulamin

4

Numerik walidacja PESEL, NIP i REGON w PHP oraz JavaScript/TypeScript

Zrobiłem Numerik bibliotekę do walidacji i parsowania polskich numerów identyfikacyjnych: PESEL, NIP, REGON, KRS, NRB, VAT-EU, IBAN, dowód osobisty i paszport. Dostępna dla PHP i TypeScript/JS, plus gotowe reguły walidacji do Laravela. Zamiast zwracać proste true/false, Numerik zwraca *dlaczego*...

Slashlab
Slashlab
Slashlab
z
wykop.pl
dodany: 02.08.2026, 20:25:33
  • #
    php
  • #
    javascript
  • #
    typescript
  • #
    laravel
  • #
    walidacja
  • #
    opensource
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Zrobiłem Numerik — bibliotekę do walidacji i parsowania polskich numerów identyfikacyjnych: PESEL, NIP, REGON, KRS, NRB, VAT-EU, IBAN, dowód osobisty i paszport. Dostępna dla PHP i TypeScript/JS, plus gotowe reguły walidacji do Laravela.

Zamiast zwracać gołe true/false, Numerik mówi *dlaczego* coś jest nieprawidłowe (zły checksum, niemożliwa data urodzenia, zła długość itd.) i od razu parsuje numer na gotowy obiekt — z PESEL-u wyciągniesz np. datę urodzenia, płeć i wiek jednym wywołaniem.

Zero zależności produkcyjnych, brak wyrażeń regularnych (cała logika na tablicach cyfr, więc bez ryzyka ReDoS), PHP 8.3+, PHPStan poziom 10, pełne testy.

```php

$pesel = Numerik::pesel()->parse('92060512186');

$pesel->getBirthDate()->format('Y-m-d'); // '1992-06-05'

$pesel->getAge(); // liczone od dziś

```

GitHub: https://github.com/sqrcz/numerik

Dokumentacja: https://numerik.slashlab.pl https://numerik-js.slashlab.pl

#programowanie #php #javascript #laravel #opensource

Komentarze (4)

najlepsze

MrDracek
MrDracek
MrDracek
03.08.2026, 13:05:44 via Wykop
  • 0
Ogólnie sam kod jest ok, ale np. w ValueObjects są typowe problemy z ISP i LSP.
Do tego np. w VatEU masz PL hardcoded w getFormatted, mimo że masz oddzielną metodę zwracającą kod kraju.
W ValidationResult pass, fail i failResult są metodami sztuka dla sztuki, robią tylko i wyłącznie jako alias dla konstruktora. Gdyby chociaż musiały żonglować dużą ilością argumentów, to może jeszcze, ale tak to jest po prostu nadmiarowy kod chyba
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych odpowiedziach

pyroxar
pyroxar
09.08.2026, 07:57:52 via Wykop
  • 0
@MrDracek: jaki jest sens nadal cedzić każda linijkę kodu, skoro ai z odpowiednim zestawem reguł, cały projekt buduje w jednym stylu. Tak jak mam swoje wcięcia a pre-comit poprawia mi je do jednego stylu który mamy na repo
  • Odpowiedz
Slashlab
Slashlab
Slashlab
Autor
09.08.2026, 10:11:09 via Wykop
  • 0
@pyroxar: Hej, nie bardzo rozumiem co masz na myśli pisząc "cedzić każdą linijkę kodu".

Jeśli chodzi o to czy warto korzystać z gotowej sprawdzonej i dobrze otestowanej biblioteki niż metody którą AI wrzuci do Twojego kodu... To pewnie jedno i drugie ma tyle samo sensu w zależności od projektu, jego skali i wymagań.

Pozdrawiam.
  • Odpowiedz

Hity

tygodnia

Stara Białka może zostać zalana
Stara Białka może zostać zalana
3814
Poszukiwany Sprawca Wypadku, poruszający się poj. elektrycznym po ścieżce
Poszukiwany Sprawca Wypadku, poruszający się poj. elektrycznym po ścieżce
2390
Zwykły klient płaci kaucję, policja nie musi. Absurd systemu kaucyjnego
Zwykły klient płaci kaucję, policja nie musi. Absurd systemu kaucyjnego
2110
Rok w areszcie za brak koncesji na fajerwerki. W celi z dzieciobójczyniami
Rok w areszcie za brak koncesji na fajerwerki. W celi z dzieciobójczyniami
1903
Kryzys wizerunkowy Coca Coli
Kryzys wizerunkowy Coca Coli
1907
Pokaż więcej

Powiązane tagi

  • #webdev
  • #programowanie
  • #mysql
  • #javascript
  • #wydarzeniait
  • #symfony
  • #laravel
  • #wordpress
  • #naukaprogramowania
  • #symfony2
  • #html
  • #python
  • #java
  • #js
  • #pytanie

Wykop © 2005-2026

  • O nas
  • Reklama
  • FAQ
  • Kontakt
  • Regulamin
  • Polityka prywatności i cookies
  • Hity
  • Ranking
  • Osiągnięcia
  • Changelog
  • więcej

RSS

  • Wykopane
  • Wykopalisko
  • Komentowane
  • Ustawienia prywatności

Regulamin

Reklama

Kontakt

O nas

FAQ

Osiągnięcia

Ranking