![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 11 Dołączył: 2.03.2008 Skąd: Lublin Ostrzeżenie: (10%) ![]() ![]() |
Witam! Tym razem chciałem wykorzystać wyrażenia regularne do walidacji formularza. Przeczytałem pierwsze 10 wyników z google na ten temat. I niestety mam niemały mentlik w głowie... Żaden "kurs" nie był przejrzysty i w końcu nie wiem czy pisze się:
Kod var regular = new RegExp("/[^ABC]/", "/\\s/"); czy var regular = new RegExp/[^ABC]/, /\\s/; a może var regular = /[^ABC]/, /\\s/; i przy zmiennej var regular = new RegExp("/[^ABC]/", "'+zmienna+'"); Nie wiem... Aptana nie pokazuje błędów, ale nie mam zielonego pojęcia jak to "rozkminić". Ma ktoś adres do jakiegoś przejrzystego kursu, albo czy ktoś mi wytłumaczy chociaż w małym stopniu jak zrobić, aby dało się wyszukać białe znaki albo puste pole w dowolnym stringu. Wielkie dzięki, pozdrawiam. Ten post edytował Misiur66 25.05.2008, 14:48:33 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 18 Dołączył: 19.04.2008 Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 11 Dołączył: 2.03.2008 Skąd: Lublin Ostrzeżenie: (10%) ![]() ![]() |
Kod function sprawdz_komentarz(id){ var nick = document.forms['formularz_komentarz_'+id].elements['komentarz_nick_'+id].value; var tresc = document.forms['formularz_komentarz_'+id].elements['komentarz_tresc_'+id].value; var regularny = /.+/; var nick_match = nick.match(regularny); if(nick_match == false){ alert('Niepuste pole'); return true; } else{ alert('Pole jest puste...'); return false; } } Tam wykonuje się funkcja o argumencie id (u mnie jest duża machina przerzucania argumentów :-)), i zwraca zawsze alert 'Pole jest puste...' |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 18 Dołączył: 19.04.2008 Ostrzeżenie: (10%) ![]() ![]() |
zmien == false na ==null
a poza tym nie powinno byc if (nick_match != false) { alert('Niepuste pole'); ? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 11 Dołączył: 2.03.2008 Skąd: Lublin Ostrzeżenie: (10%) ![]() ![]() |
Już masz pomógł, tylko jedna sprawa... nie reaguje na białe znaki. czy trzeba:
Kod [^\\s] ? Edit: Przy użyciu: Kod var regularny = /.[^\\s]+/; Nie działa ![]() Ten post edytował Misiur66 25.05.2008, 18:30:31 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 18 Dołączył: 19.04.2008 Ostrzeżenie: (10%) ![]() ![]() |
Moze sproboj mu ograniczyc jasno ciag
/^[^\\s]+$/ |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 11 Dołączył: 2.03.2008 Skąd: Lublin Ostrzeżenie: (10%) ![]() ![]() |
Hm... chyba dobrze zwraca tylko to:
Kod if(nick_match == null) jest źle... jak się robiło żeby coś zwracało true albo false? |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 18 Dołączył: 19.04.2008 Ostrzeżenie: (10%) ![]() ![]() |
Jezeli nie ma wpasowania jest zwracane NULL w przypadku metody .match, stad jak chcesz sobie zmienic na tru fals to dopisz deko kodu
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 11 Dołączył: 2.03.2008 Skąd: Lublin Ostrzeżenie: (10%) ![]() ![]() |
Czyli to nie traktuje każdej sapcji jako NULL bo przy alert nick_match, zwraca ' ', a jesli nic to 'NULL'. Czyli jest różnica.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 18 Dołączył: 19.04.2008 Ostrzeżenie: (10%) ![]() ![]() |
Spacji jako null na pewno nie skoro byla wymieniona w wyrazeniu.
match() zwraca albo NULL czyli 0 trafien albo tablica dopasowan. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 11 Dołączył: 2.03.2008 Skąd: Lublin Ostrzeżenie: (10%) ![]() ![]() |
Hm... to może za pomocą wyrreg.search(); poszukam białych znaków... dzięki!
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 11:37 |