Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako regularnim izrazom ispitati da li je promenljiva vrednosti 1,2,3,4 ili 5

[es] :: PHP :: Kako regularnim izrazom ispitati da li je promenljiva vrednosti 1,2,3,4 ili 5

[ Pregleda: 1437 | Odgovora: 10 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

zgas

Član broj: 74613
Poruke: 207
*.ptt.yu.



Profil

icon Kako regularnim izrazom ispitati da li je promenljiva vrednosti 1,2,3,4 ili 519.06.2007. u 10:58

Postovani,

imam promenljivu koja treba da ima vrednosti samo 1,2,3,4 ili 5.

Ne zelim da koristim is_integer funkciju jer ona ne prepozna ove vrednosti ako su upisane preko forme - za nju su to onda tekst vrednosti. Ne znam da koristim regularne izraze i funkcije (ne razumem ih) a pretpostavljam da one to mugu... Kako?

Hvala.
19.06.2007. u 10:58 

dakipro
Dalibor Jovic
PHP Developer, SMDesign, Ciplex
Novi Sad

Moderator
Član broj: 31848
Poruke: 869
*.adsl.beotel.net.



Profil

icon Re: Kako regularnim izrazom ispitati da li je promenljiva vrednosti 1,2,3,4 ili 519.06.2007. u 11:03
CIni mi se da nesto veoma gresis. Napisi molim te cemu ovo sluzi i nacin upotrebe.
Zasta bi koristio is_integer ? ako je promenjiva string, mozes je striktno definisati kao intiger: $promenjiva = (int) $_POST['text_polje'];
19.06.2007. u 11:03 

flylord
Ilić Aleksandar
Freedomia (direktor)
Nis/Uzice

Tehnički konsultant
Član broj: 2954
Poruke: 3572
*.dynamic.sbb.co.yu.

Jabber: flylord@elitesecurity.org
ICQ: 4849714
Sajt: blog.itseminar.org


Profil

icon Re: Kako regularnim izrazom ispitati da li je promenljiva vrednosti 1,2,3,4 ili 519.06.2007. u 11:07
a mozes da koristis i is_numeric() , pa onda proveru da li je jednaka nekoj od zadatih vrednosti
19.06.2007. u 11:07 

Zmaj
Predrag Krstić
web developer, www.vast.com
Zrenjanin

Član broj: 1035
Poruke: 323
91.150.99.*

Sajt: www.zmajevognezdo.com


Profil

icon Re: Kako regularnim izrazom ispitati da li je promenljiva vrednosti 1,2,3,4 ili 519.06.2007. u 11:56
Code:

if(is_numeric($num) && ($prom >= 1) && ($prom <= 5)) {
  //obrada
}
else {
  //greska: prom. nije u granicama od 1 do 5
}


a php ce ti posle ovo svakako pretvoriti u integer, ako ga koristis u nekim izrazima.
Postoji milion nacina da testiras da li je prom. integer, i da li je u granicama
19.06.2007. u 11:56 

beep
Srbija/Vrbas

Član broj: 19294
Poruke: 170
*.adsl.sezampro.yu.



Profil

icon Re: Kako regularnim izrazom ispitati da li je promenljiva vrednosti 1,2,3,4 ili 519.06.2007. u 12:51
npr.
Code:
if (ereg ("(^[1-5]{1}$)",$promenjiva))    echo 'true';
   else echo 'false';

XAVideo Component - Joomla 1.5x || http://xa-video.blogspot.com/
XAConverter Plugin - Joomla 1.5x | latinica <-> cirilica || http://xaconverter.blogspot.com/
19.06.2007. u 12:51 

zgas

Član broj: 74613
Poruke: 207
*.ptt.yu.



Profil

icon Re: Kako regularnim izrazom ispitati da li je promenljiva vrednosti 1,2,3,4 ili 519.06.2007. u 13:00
Hvala beep, to je to.

Interesuje me samo da li znate je ereg mnogo sporiji od if ili case uslova?

npr:

Code:

if($do_dana!=0 AND $do_dana!=1 AND $do_dana!=2 AND $do_dana!=3 AND $do_dana!=4 AND $do_dana!=5 AND $do_dana!=6)...
19.06.2007. u 13:00 

djordje
Đorđe Mijailović
E2, FTN Novi Sad
Novi Sad

Član broj: 3704
Poruke: 1651
*.dynamic.sbb.co.yu.

Sajt: www.diy-electronic-projec..


Profil

icon Re: Kako regularnim izrazom ispitati da li je promenljiva vrednosti 1,2,3,4 ili 519.06.2007. u 14:10
koji ce ti ovo:
Code:
if($do_dana!=0 AND $do_dana!=1 AND $do_dana!=2 AND $do_dana!=3 AND $do_dana!=4 AND $do_dana!=5 AND $do_dana!=6)...


kad je elegantnije mnogo ovo:
Code:
if(is_numeric($num) && ($prom >= 1) && ($prom <= 5)) {
  //obrada
}
else {
  //greska: prom. nije u granicama od 1 do 5
}


Sve je brze od regularnih izraza
19.06.2007. u 14:10 

mika
NBG-ML

Član broj: 55
Poruke: 636
*.adsl-2.sezampro.yu.



Profil

icon Re: Kako regularnim izrazom ispitati da li je promenljiva vrednosti 1,2,3,4 ili 519.06.2007. u 14:43
Xixi, može i:

Code:

$correct = is_numeric($num)?(($num>=1 && $num<=5)?true:false):false;


... ali je najelegantnije rešenje ono koje je mr. beep predložio. Ne treba da razmišljaš da li je brže ili ne, osim ako ti se taj kod ne vrti u petlji milion puta.
Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
19.06.2007. u 14:43 

zgas

Član broj: 74613
Poruke: 207
*.yu
Via: [es] mailing liste



Profil

icon Re: Kako regularnim izrazom ispitati da li je promenljiva vrednosti 1,2,3,4 ili 519.06.2007. u 15:20
>
Beep je resio, a ovo sto ste vi predlozili ako se ne varam ne odgovara,
jer 'is_numeric' pusta i decimalne brojeve, a meni trebaju samo celi.
19.06.2007. u 15:20 

djordje
Đorđe Mijailović
E2, FTN Novi Sad
Novi Sad

Član broj: 3704
Poruke: 1651
*.dynamic.sbb.co.yu.

Sajt: www.diy-electronic-projec..


Profil

icon Re: Kako regularnim izrazom ispitati da li je promenljiva vrednosti 1,2,3,4 ili 519.06.2007. u 15:56
Tacno, ne odgovara, ali ovo odgovara

http://www.php.net/manual/en/function.ctype-digit.php
19.06.2007. u 15:56 

jablan
Mladen Jablanović
Beograd

Član broj: 8286
Poruke: 3322
194.228.230.*

Sajt: blog.radioni.ca


Profil

icon Re: Kako regularnim izrazom ispitati da li je promenljiva vrednosti 1,2,3,4 ili 519.06.2007. u 16:32
Citat:
beep: npr.
Code:
"(^[1-5]{1}$)"

{1} ti je višak. ;)
19.06.2007. u 16:32 

[es] :: PHP :: Kako regularnim izrazom ispitati da li je promenljiva vrednosti 1,2,3,4 ili 5

[ Pregleda: 1437 | Odgovora: 10 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.