![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 19.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Pisze funkcję rejestracji użytkowników. Niestety jak to polscy internauci lubią się wyróżniać z tłumu i umieszczają w swoich nickach różnego rodzaju znaki. Jakieś krzyżyki, litery do góry nogami itp. Jak zrobić, aby rejestracja powiodła się dopiero wtedy gdy użytkownik poda nick składający się wyłącznie z liter z przedziału od A do Ż?
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Wyrażenie regularne
http://www.php.net/manual/en/function.preg-match.php -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 19.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Poczytałem w manualu i zrobiłem tak:
Ogólnie działa, ale problem gdy nazwa loginu jest dwuczłonowa, lub więcej - wtedy zawsze wyświetla else. Jak na to zaradzić? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
A widziałeś na jakiejś stronie aby pozwalano na wieloczłonowy login ? No chyba, że chcesz mieć na swojej stronie login typu " " (tu jest 10 spacji ale forum skraca do jednej
![]() ![]() Ten post edytował CuteOne 18.08.2011, 20:34:48 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 19.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Na wielu stronach login składa się z kilku wyrazów. Ale to co mi udało się stworzyć, niestety zawsze zwraca else (w przypadku dodania spacji)
![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Różne jest zdanie i podejście na temat loginów, moje jest takie że tylko i wyłącznie znaki alfanumeryczne, plus małpa, myślnik i podkreślnik. Czyli wyrażenie wyglądałoby mniej więcej tak:
Kod /^[\w@-]{3,15}$/i W twoim przypadku żeby pozwolić przykładowo tylko na jedną spacje między poszczególnymi członami, twoje wyrażenie byłoby mniej więcej takie: Kod /^([\w-@ąćęłńóśźżĄĆĘŁŃÓŚŹŻ]([\s]{1})?){3,15}$/is Sprawdź czy zadziała, bo nawet tego nie testowałem. PS. jeżeli dajesz flagę "i", wówczas nie musisz pisać a-zA-Z. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 19.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
właśnie o to chodziło, dzięki wielkie by_ikar
![]() Co prawda jest możliwość wstawienia więcej spacji, ale z tym sobie poradzę. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
I w sumie to byłby problem, bo nie wiem czy jest sposób aby jakoś to inaczej ugryźć. Tutaj masz tylko z 1 spacją, dwa wyrazy, problem polega na tym, że jeżeli pierwszy będzie miał 15 znaków, to drugi może mieć maksymalnie 11 znaków (3 minimalne znaki dla wyrazu plus spacja, odjąć od maksymalnie 15), czyli łącznie jeżeli ktoś będzie miał 2 wyrazy, to może mieć 15+11 znaków... Nie przychodzi mi do głowy nic innego, ale jeżeli i to ci pomoże, to wyrażenie wyglądałoby mniej więcej tak:
Kod /^([\w-@ąćęłńóśźżĄĆĘŁŃÓŚŹŻ]{3,15})(\s[\w-@ąćęłńóśźżĄĆĘŁŃÓŚŹŻ]{3,15})?$/is Pewnie można to jakoś ogarnąć jakimś warunkiem, ale teraz lecę na obiad, więc nawet nie chcę o tym myśleć ![]() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 19.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Przeniosłem się na ovh i mam wrażenie, że więcej błędów wykrywa
![]()
Co jest źle w tym kawałku kodu? Wyświetla mi Warning: preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Unknown modifier 'j' in .... |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.07.2025 - 17:11 |