Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [js]regexp, dozwolone znaki
eS...
post 10.04.2007, 22:03:44
Post #1





Grupa: Zarejestrowani
Postów: 367
Pomógł: 2
Dołączył: 4.03.2003
Skąd: C:/Windows/Temp

Ostrzeżenie: (0%)
-----


Witam
Mam taki mały problem i nie wiem jak to ugryźć.
Mianowicie chodzi mi to jak za pomocą regexp wyciagnąć ze stringa (lub raczej pozwolić na to aby w stringu mogły znaleźć się znaki): od 0-9 (czyli cyfry [0-9]) oraz . (kropka). Chodzi o to żeby w stringu mogła znajdować się liczba, np:
123 lub 0.12

Dzięki za pomoc
Pozdrawiam


--------------------
Go to the top of the page
+Quote Post
Zeman
post 10.04.2007, 22:25:01
Post #2





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 29.03.2007

Ostrzeżenie: (0%)
-----


  1. <?php
  2. "[0-9]+(.[0-9]+)? "
  3. ?>

kropka jest znakiem specjalnym a znaki specjalne jeśli mają być traktowane jako literały to dodajemy "\"


--------------------
www.web2biz.pl | trochę o web-usability
Go to the top of the page
+Quote Post
eS...
post 11.04.2007, 09:17:08
Post #3





Grupa: Zarejestrowani
Postów: 367
Pomógł: 2
Dołączył: 4.03.2003
Skąd: C:/Windows/Temp

Ostrzeżenie: (0%)
-----


Niestety przecinki też mi przepuszcza a nie może


--------------------
Go to the top of the page
+Quote Post
nospor
post 11.04.2007, 09:24:14
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Kod
str = "5.45";
objReg = /^\d+(\.\d+)?$/;
str = str.match(objReg);
if (str) alert('ok'); else alert('notok');


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
eS...
post 11.04.2007, 09:29:17
Post #5





Grupa: Zarejestrowani
Postów: 367
Pomógł: 2
Dołączył: 4.03.2003
Skąd: C:/Windows/Temp

Ostrzeżenie: (0%)
-----


niestety sad.gif
używam gen_validator i mam coś w tym stylu
  1. var frmvalidator = new Validator("form");
  2. frmvalidator.addValidation("sztuk1","regexp=/^\d+(\.\d+)?$/","Dozwolone znaki to cyry 0-9, oraz .");

w inpucie sztuk1 musi pluc alertem w momencie kiedy bedzie cos innego niż
1
1.2
123
12333.2

Musi być możliwość wprowadzenia całej liczby i z kropką sad.gif


--------------------
Go to the top of the page
+Quote Post
nospor
post 11.04.2007, 09:30:32
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
niestety

Kod ktory ci podalem dziala. A to ze nie umiesz tego regexpa wlozyc do swojego skryptu to nie moja wina tongue.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
eS...
post 11.04.2007, 09:32:41
Post #7





Grupa: Zarejestrowani
Postów: 367
Pomógł: 2
Dołączył: 4.03.2003
Skąd: C:/Windows/Temp

Ostrzeżenie: (0%)
-----


nospor jak bym umial to bym nie zaczynal tego tematu. a twoj kod np 1,2 tez przepuszcza!


--------------------
Go to the top of the page
+Quote Post
nospor
post 11.04.2007, 09:35:22
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
a twoj kod np 1,2 tez przepuszcza!
zarty chyba sobie robisz... Wypisuje notok jak ta lala.

edit: moze ty masz cacheowanie wlaczone i ci ciagle zaczytuje jakis stary regexp?

Cytat
nospor jak bym umial to bym nie zaczynal tego tematu
Zaczales ten topic z pytaniem o wyrazenie i takowe dostales. Ponawiam wiec: nie nasz wina ze nie umiesz tego wyraznia do skryptu wlozyc winksmiley.jpg


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
eS...
post 11.04.2007, 09:38:17
Post #9





Grupa: Zarejestrowani
Postów: 367
Pomógł: 2
Dołączył: 4.03.2003
Skąd: C:/Windows/Temp

Ostrzeżenie: (0%)
-----


  1. var frmvalidator = new Validator("form");
  2. frmvalidator.addValidation("sztuk1","regexp=/^\d+(\.\d+)?$/","Dozwolone znaki to cyry 0-9, oraz .");

Nie wiem. Musze to wstawić do tego formvalidatora, i nie działa. cache odpada


--------------------
Go to the top of the page
+Quote Post
nospor
post 11.04.2007, 10:00:59
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Az zajrzalem do tego skryptu z ktorego korzystasz. Niestety nie udalo mi sie znaleźć zadnych przykladow uzycia, wiec nie wiem czy dobrze go wykorzystujesz, czy to moze on źle dziala. Bo jesli nalezy go wykorzystac tak jak pokazujesz to on ma bledy.

po pierwsze:
zmien swojega stringa na:
"regexp=^\\d+(\\.\\d+)?$"

po drugie zmodyfikowalem kod js:
w okolicach linii 328 masz : case "regexp". po modyfikacji poczatek powinien wygladac tak:
Kod
        case "regexp":
         {
             if(objValue.value.length > 0)
            {
                objPattern = new RegExp(cmdvalue,"i");
                if(!objValue.value.match(objPattern))
.....

I teraz wszystko smiga jak ta lala smile.gif

Nie wiem czy autor testowal wyrazenia regularne czy nie, ale wyglada jakby nie smile.gif No chyba ze nalezy inaczej je zapodawac do klasy, ale jak mowilem przykladow nie znalazlem


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
eS...
post 11.04.2007, 10:05:03
Post #11





Grupa: Zarejestrowani
Postów: 367
Pomógł: 2
Dołączył: 4.03.2003
Skąd: C:/Windows/Temp

Ostrzeżenie: (0%)
-----


Dzięki.
Przyda sie na przyszłość bo już poradziłem sobie inaczej. Po prostu jak jest przecinek to jest NaN, a więc dałem sprawdzanie isNaN smile.gif. w sumie prościej i mniej kodu. Bo w tym walidatorze musiałbym do każdego inputa dawać regexp a tak jeden if obskakuje wszystkie


--------------------
Go to the top of the page
+Quote Post
nospor
post 11.04.2007, 10:09:02
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A powiedz mi tylko, czy ty masz gdziesz stronke z wykorzystaniem tej klasy? Chcialbym sie temu przyjrzec, bo nurtuje mnie ten wadliwy regexp, a raczej czy to wina klasy czy wina zlego uzycia


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
eS...
post 11.04.2007, 10:11:15
Post #13





Grupa: Zarejestrowani
Postów: 367
Pomógł: 2
Dołączył: 4.03.2003
Skąd: C:/Windows/Temp

Ostrzeżenie: (0%)
-----


mam ale niestety tą klase używam w miejscu gdzie nie mogę dac ci dostępu. może to mój błąd bo regexy to dla mnie czarna magia.
www.blachprofil2.com.pl może na głównej też gdzieś jest zobacz
pozdrawiam


--------------------
Go to the top of the page
+Quote Post
nospor
post 11.04.2007, 10:19:26
Post #14





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Chodzilo mi o strone autora skryptu gen_validator a nie Twoja smile.gif

Dobra, znalazlem. Wystarczy tylko ze zamienisz swojego stringa na:
"regexp=^\\d+(\\.\\d+)?$"
i bedzie dzialac bez modyfikacji klasy


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 18.07.2025 - 01:43