Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]Wyrażenia reguralne
Misiur66
post 25.05.2008, 14:40:02
Post #1





Grupa: Zarejestrowani
Postów: 170
Pomógł: 11
Dołączył: 2.03.2008
Skąd: Lublin

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
cbagov
post 25.05.2008, 14:50:45
Post #2





Grupa: Zarejestrowani
Postów: 181
Pomógł: 18
Dołączył: 19.04.2008

Ostrzeżenie: (10%)
X----


Skorzystaj z .match()

http://www.devshed.com/c/a/JavaScript/Unde...egExp-Object/3/
Go to the top of the page
+Quote Post
Misiur66
post 25.05.2008, 14:56:58
Post #3





Grupa: Zarejestrowani
Postów: 170
Pomógł: 11
Dołączył: 2.03.2008
Skąd: Lublin

Ostrzeżenie: (10%)
X----


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...'
Go to the top of the page
+Quote Post
cbagov
post 25.05.2008, 17:09:25
Post #4





Grupa: Zarejestrowani
Postów: 181
Pomógł: 18
Dołączył: 19.04.2008

Ostrzeżenie: (10%)
X----


zmien == false na ==null

a poza tym nie powinno byc

if (nick_match != false) { alert('Niepuste pole');

?
Go to the top of the page
+Quote Post
Misiur66
post 25.05.2008, 18:16:33
Post #5





Grupa: Zarejestrowani
Postów: 170
Pomógł: 11
Dołączył: 2.03.2008
Skąd: Lublin

Ostrzeżenie: (10%)
X----


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 sad.gif Znaczy nie reaguje na białe znaki.

Ten post edytował Misiur66 25.05.2008, 18:30:31
Go to the top of the page
+Quote Post
cbagov
post 25.05.2008, 20:28:33
Post #6





Grupa: Zarejestrowani
Postów: 181
Pomógł: 18
Dołączył: 19.04.2008

Ostrzeżenie: (10%)
X----


Moze sproboj mu ograniczyc jasno ciag

/^[^\\s]+$/
Go to the top of the page
+Quote Post
Misiur66
post 26.05.2008, 15:47:07
Post #7





Grupa: Zarejestrowani
Postów: 170
Pomógł: 11
Dołączył: 2.03.2008
Skąd: Lublin

Ostrzeżenie: (10%)
X----


Hm... chyba dobrze zwraca tylko to:

Kod
if(nick_match == null)


jest źle... jak się robiło żeby coś zwracało true albo false?
Go to the top of the page
+Quote Post
cbagov
post 26.05.2008, 18:39:41
Post #8





Grupa: Zarejestrowani
Postów: 181
Pomógł: 18
Dołączył: 19.04.2008

Ostrzeżenie: (10%)
X----


Jezeli nie ma wpasowania jest zwracane NULL w przypadku metody .match, stad jak chcesz sobie zmienic na tru fals to dopisz deko kodu
Go to the top of the page
+Quote Post
Misiur66
post 26.05.2008, 19:03:51
Post #9





Grupa: Zarejestrowani
Postów: 170
Pomógł: 11
Dołączył: 2.03.2008
Skąd: Lublin

Ostrzeżenie: (10%)
X----


Czyli to nie traktuje każdej sapcji jako NULL bo przy alert nick_match, zwraca ' ', a jesli nic to 'NULL'. Czyli jest różnica.
Go to the top of the page
+Quote Post
cbagov
post 26.05.2008, 20:41:18
Post #10





Grupa: Zarejestrowani
Postów: 181
Pomógł: 18
Dołączył: 19.04.2008

Ostrzeżenie: (10%)
X----


Spacji jako null na pewno nie skoro byla wymieniona w wyrazeniu.
match() zwraca albo NULL czyli 0 trafien albo tablica dopasowan.
Go to the top of the page
+Quote Post
Misiur66
post 27.05.2008, 07:04:20
Post #11





Grupa: Zarejestrowani
Postów: 170
Pomógł: 11
Dołączył: 2.03.2008
Skąd: Lublin

Ostrzeżenie: (10%)
X----


Hm... to może za pomocą wyrreg.search(); poszukam białych znaków... dzięki!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 11:37