Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyrażenia regularne, nie kopać jeśli było, ale szukałem
Speed666
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 17.01.2005

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


Witajcie,
Mam taki problem
  1. <?php
  2. if(!eregi(&#092;"[0-9]\", $cena)) $bledy .= '<TR><TD width=\"20\" CLASS=\"clear\"><IMG SRC=\"imgwarn.gif\"></TD><TD width=\"300\" CLASS=\"clear\">Podana cena jest nieprawidłowa.</TD></TR>';
  3.  
  4. ?>

Pole input text - ta linijka ma nie przepuszczać niczego innego poza czystymi liczbami (żadnego tekstu). Jednak niedziała - tylko wyrzuca ten błąd w momęcie gdy pole jest puste całkowicie. Można wpisać tekst a regułka tego nie wyłapie.
Dlaczego??
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tiraeth
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


Niewyłapuje bo w ciągu ma się znaleźć cyfra/liczba a nie ciąg ma być cyfrą/liczbą (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

  1. <?php
  2. if(!eregi(&#092;"^[0-9]{0,}$\", $cena))
  3. {
  4.  $bledy .= 'Podana cena jest nieprawidłowa.';
  5. }
  6. ?>


^ - oznacza, że podane wyrażenie musi wystapić na początku
$ - podane wyrażenie musi wystąpić na końcu
{0,} - wyłapuje ciągi wielkości od 0 do nieskończoności znaków

^[0-9]{0,}$ - całe wyrażenie musi być liczbą z przedziału od 0 do nieskończoności

Teraz napewno zadziała...

Ten post edytował Tiraeth 31.03.2005, 14:09:52
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.10.2025 - 19:56