IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @817
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

Čo tak skúsiť niečo nové

a vyskúšať si PPC sýstem v Etarget. Stačí kliknúť a zaregistrovať sa. www.etarget.sk

Zaregistruj sa!

Tvoj názor sa ráta a oplatí! Pridaj sa a vyhraj iPad. www.marketagent.com

Priprav sa na futbalové EURO

Exkluzívna súťaž o Ford Fiesta! Kurzová superponuka a bonus 100€ https://www.tipsport.sk

Ako ste stratili hmostnosť.

Zistite jej tajomstvo pre dokonalé telo. Môžete dosiahnuť tieto výsledky tiež. www.janinblog.com

Automatické zavlažovanie

Moderné závlahové systémy Gardena. Ľahká obsluha, vysoká spoľahlivosť. www.gardena.sk

ako pouzit prikaz ereg

Zaslať odpoveď
AutorSpráva
dulius
Užívateľ
Užívateľ

Založený: 20.01.2007
Príspevky: 348

PríspevokZaslal: St 05.12.07 16:43Odpovedať s citátomNávrat hore

zdravim.
z formulara do premennej $vek nacitavam hodnotu

ako ju mam osetrit cez fciu ereg, aby mi to vracalo 1ku len ked je to cislo naozaj cislo ! a nie su tam znaky a podobne

zatial to mam takto: $cislo = ereg("[0-9]", $vek);

ale vezme mi to, aj ked zadam napriklad vek: 23h .. proste hocijake pismenko tam vlozim ...

takze este raz: aka podmienka je na kontrolu, ze retazec je cislo a obsahuje len cisla.

mozno to ide aj inak, ale mna napadla hned funkcia ereg

+ este by nezaskodilo overit, ci je to cislo mensie ako 4 cifry, asi by to malo byt: and strlen($vek)>3)
Zobraziť informácie o autoroviOdoslať súkromnú správu
stenley
Moderátor
Moderátor

Založený: 27.07.2007
Príspevky: 3776
Bydlisko: Bratislava
Vek: 27

PríspevokZaslal: St 05.12.07 17:01Odpovedať s citátomNávrat hore

da sa to vyriesit viacerymi sposobmi, trebars aj cez ten ereg, ako si spomenul, takze sa zameriam prave nan:
kód:
ereg("[[:digit:]]", $vek)


a ked tam chces mat max 3 cislice, tak
kód:
ereg("[[:digit:]]{1,3}", $vek)

_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Zobraziť informácie o autoroviOdoslať súkromnú správuICQJabber
dulius
Užívateľ
Užívateľ

Založený: 20.01.2007
Príspevky: 348

PríspevokZaslal: St 05.12.07 17:13Odpovedať s citátomNávrat hore

stenley napísal:
da sa to vyriesit viacerymi sposobmi, trebars aj cez ten ereg, ako si spomenul, takze sa zameriam prave nan:
kód:
ereg("[[:digit:]]", $vek)


a ked tam chces mat max 3 cislice, tak
kód:
ereg("[[:digit:]]{1,3}", $vek)


dakujem ... super, to som potreboval ... to {1,3} znamena od 1 do 3 pocet prvkov? ak by som chcel max 5 miestne bolo by to {1,5} ?

vidim, ze si odbornik, vdaka ... a ako by ten ereg vyzeral povedzme, keby som chcel maximalne 5 znakov, kde prve 2 znaky by mali byt cislice a ostatne 3 znaky velke pismena abecedy, napriklad: 54AHOJ
Zobraziť informácie o autoroviOdoslať súkromnú správu
stenley
Moderátor
Moderátor

Založený: 27.07.2007
Príspevky: 3776
Bydlisko: Bratislava
Vek: 27

PríspevokZaslal: St 05.12.07 17:20Odpovedať s citátomNávrat hore

jj, presne ako hovoris, {x,y} znamena od x do y znakov

ak chces presne 5 znakovy retazec (2 cislice + 3 velke pismena), tak potom
kód:
ereg("^[0-9]{2}[A-Z]{3}$", $string)


v tom predchadzajucom priklade som zabudol dat zaciatok (^) a koniec retazca ($)

_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Zobraziť informácie o autoroviOdoslať súkromnú správuICQJabber
dulius
Užívateľ
Užívateľ

Založený: 20.01.2007
Príspevky: 348

PríspevokZaslal: St 05.12.07 17:42Odpovedať s citátomNávrat hore

stenley napísal:
jj, presne ako hovoris, {x,y} znamena od x do y znakov

ak chces presne 5 znakovy retazec (2 cislice + 3 velke pismena), tak potom
kód:
ereg("^[0-9]{2}[A-Z]{3}$", $string)


v tom predchadzajucom priklade som zabudol dat zaciatok (^) a koniec retazca ($)

vdaka, takze moja povodna uloha ma vyzerat takto?

ereg("^[[:digit:]]{1,3}$", $vek)

preco su tam 2 zatvorky [[ a ]] ? myslim to digit, co je v 2 zatvorkach.
Zobraziť informácie o autoroviOdoslať súkromnú správu
mondzo
Užívateľ
Užívateľ

Založený: 09.02.2007
Príspevky: 248

PríspevokZaslal: St 05.12.07 17:57Odpovedať s citátomNávrat hore

jednoduchsie by sa dalo checknut aj cez php funckiu is_numeric (ci je cislo, lenze to moze byt aj desatinne), preto pre vek je lepsie pouzit vyssie spomenute riesenie...
Zobraziť informácie o autoroviOdoslať súkromnú správuZobraziť autorove WWW stránky
stenley
Moderátor
Moderátor

Založený: 27.07.2007
Príspevky: 3776
Bydlisko: Bratislava
Vek: 27

PríspevokZaslal: St 05.12.07 20:05Odpovedať s citátomNávrat hore

dulius napísal:
vdaka, takze moja povodna uloha ma vyzerat takto?

ereg("^[[:digit:]]{1,3}$", $vek)

preco su tam 2 zatvorky [[ a ]] ? myslim to digit, co je v 2 zatvorkach.

ano, ma to tak byt, ved si to vyskusal a uvidis, ci to funguje ako ma...

[[:nieco:]] - predstavuje urcitu skupinu znakov, zalezi od toho, co za "nieco" dosadis, napr:
[[:digit:]] - cislice 0-9
[[:alfa:]] - pismena a-z A-z
[[:alnum:]] - alfanumericke znaky
atd

_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Zobraziť informácie o autoroviOdoslať súkromnú správuICQJabber
dulius
Užívateľ
Užívateľ

Založený: 20.01.2007
Príspevky: 348

PríspevokZaslal: St 05.12.07 20:46Odpovedať s citátomNávrat hore

dakujem, uz je mi to jasne
Zobraziť informácie o autoroviOdoslať súkromnú správu
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd