Wpis z mikrobloga

#wyrazeniaregularne #regexp #programowanie

Potrzebuję kilkunastu dobrze sprawdzonych wyrażeń regularnych (np. do walidacji formularzy tzn. np. z datą, godziną, emailem, numerem telefonu itd. itd).

Mógłbym sam je napisać, ale nie będą idealne. Mógłbym poszukać forach/stackoverflow, ale też nie jest pewne, że nie zawierają jakiś błędów.

Najchętniej wziąłbym z jakiegoś gotowca napisanego przez profesjonalistów. Wiem, że np. w C# (ASP.NET) są zaszyte gotowe do sprawdzania, podobnie jest chyba w AngularJS. Nie wiem tylko jak stamtąd wyciągnąć same wyrażenia. Są gdzieś jeszcze? Może coś w Javie? Lub w jakiejś "dokumentacji"?
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

(załóżmy, że w celach edukacyjnych)


@mk321: Czyli, że w jakich? Nie ma czegoś takiego jak „pro najlepsze wyrażenia”, bo nie wszystko dobrze waliduje się regexpami + są różne oczekiwania wobec walidacji.

Np email można walidować na gazylion różnych sposobów (od prostego sprawdzenia czy jest małpka, po sprawdzanie czy domena z mejla
  • Odpowiedz
Czyli, że w jakich?


@MacDada: Chcę mieć w aplikacji w Javie i JavaScript walidację taką jak w Springu (adnotacje), ale nie chcę używać ich biblioteki (ani żadnych dodatkowych - sam czysty kod).

Oczekiwanie wobec walidacji mam takie, żeby było jak w gotowych profesjonalnych bibliotekach (choćby ta ze
  • Odpowiedz
@mk321: Nie ogarniesz tego dobrze „sam” i zresztą nie ma sensu. Użyj bibliotek. Do tego są, żeby nie wynajdować koła na nowo.

Choćby dlatego, że jak jakaś reguła będzie miała błąd, to biblioteka zostanie zaktualizowana i Twój kod też. Czy może masz zamiar potem ręcznie śledzić wszystkich wokół i dostosowywać swój kopiuj–wklejkowany kod?

Java i Javascript to dwie zupełnie odmienne technologie (mimo, iż nazwa sugeruje podobieństwo). Pamiętaj o celach
  • Odpowiedz
Choćby dlatego, że jak jakaś reguła będzie miała błąd, to biblioteka zostanie zaktualizowana i Twój kod też. Czy może masz zamiar potem ręcznie śledzić wszystkich wokół i dostosowywać swój kopiuj–wklejkowany kod?


@MacDada: chcę po prostu zobaczyć jaki jest stan na teraz. Nawet jeśli nie są idealne, nawet jak będą aktualizowane.

Java i Javascript to dwie zupełnie odmienne technologie (mimo, iż nazwa sugeruje
  • Odpowiedz
No i np. dla emaila coś jest: https://github.com/hibernate/hibernate-validator/blob/6ae19900e2951513034534f9aec786689da9b4d8/engine/src/test/java/org/hibernate/validator/test/internal/engine/methodvalidation/returnvaluevalidation/ContactBean.java


@mk321: To jest faktycznie „tylko” test czy walidacja działa poprawnie.

Tu masz „constrainty”, czyli „definicje” co należy zwalidować, np możesz jakieś pole obiektu oznaczyć „constraintem” URL, dzięki czemu system walidacji wie, że ma sprawdzić, że pole
  • Odpowiedz
@MacDada: o to mi chodziło :) Dzięki :)


Właśnie nie mogłem znaleźć tych klas "walidatorów".

Teraz widzę, że od środka wygląda to trochę inaczej niż myślałem, i raczej mniej niż więcej jest oparte na wyrażeniach regularnych (no i jednak nie mogę ich tak
  • Odpowiedz