W tym artykule przedstawię kluczowe, gotowe regułki wyrażeń regularnych, gdyż uważam, że na przykładach człowiek najlepiej się uczy, polecę też poniżej kilka kursów oraz serwisy, w których możecie walidować wyrażenia regularne.
A więc do dzieła, w komentarzach możecie wpisywać przydatne (ale uniwersalne) wg Was REGEX’y, dodam je wtedy do artykułu.
^[a-zA-Z0-9]{8,}$ #8 or more characters^[a-zA-Z0-9]{,16}$ #Less than or equal to 16 characters^[a-zA-Z0-9]{8}$ #Exactly 8 characters
Email REGEX wg RFC 5322 Official Standard:
(?:[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
lub skrócony
^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$
lub REGEX uwzględinający długość domen rozszrezeń od 2 do 5 znaków, dlaczego 5 znaków jako rozszerzenie domeny? z powodu zarejestrowanego jakiś czas temu sufiksu *travel
^(([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{2,5})$)?
działają z powodzeniem, obydwa testowane na https://regex101.com/
Poniższy REGEX może służyć do sprawdzania np. wprowadzonego numeru telefonu. Jednocześnie znak zapytania po wyrażeniu w nawiasach pozwala na niewprowadzanie numeru. Podsumowując, albo wprowadzamy min. 9 cyfr a max. 16, albo nic.
(^\d{9,16})?
bardziej zrozumiały zapis
(^[0-9]{9,16}$)?
Tutaj możliwe także podanie prefixu z plusem:
([+]\d{9,16}|\d{9,16})?