Autor | Zpráva | ||
---|---|---|---|
martinenecek Profil |
#1 · Zasláno: 22. 2. 2007, 17:40:40
Zdravim do fora.
Mam trosku problem s regulernim vyrazem. Mam ve formulari polozku, kde se daji zapsat 2 cisla tudiz rozmezi 00-99 a potrebuji to osetrit tak, ze vsechno ostatni nez zadana hodnota 0,1,2,3.......,00,01,02,03.......... - 99 je chyba. Stejne tak chyba neni, kdyz je polozka prazdna, ale chyba je, kdyz je v poli jakykoliv znak ci pismeno. nefunguje if (ereg("[0-9]{2}",$delka_pobytu)) die ("chyba"); dekuji za radu |
||
Hooonza Profil * |
#2 · Zasláno: 22. 2. 2007, 17:48:32
[0-9]|[1-9][0-9]
viz příklady na http://www.regularnivyrazy.info/regularni-vyrazy-zaklady.html, test na http://www.regexp.cz/ |
||
Nox_lbc Profil |
#3 · Zasláno: 22. 2. 2007, 17:48:42
jak nefunguje?
^[1-9]{1}([0-9]{1})?$ |
||
K. Profil * |
#4 · Zasláno: 22. 2. 2007, 17:53:32
Pokud jsem to správně pochopil, tak musí projít i prázdný řetězec. Potom by řešení mohlo vypadat třeba takhle:
if (strlen($delka_pobytu) > 0 && !ereg("^[0-9]{1,2}$",$delka_pobytu)) die("chyba"); |
||
martinenecek Profil |
#5 · Zasláno: 22. 2. 2007, 18:27:30
tak jsem to udelal podle vasich rad a uz je to OK, dekuji za vsechny rady :)
|
||
martinenecek Profil |
#6 · Zasláno: 22. 2. 2007, 19:12:56
tak mel bych tu jeste jeden problem potrebuji regulerni vyraz kde se mohou zadat pouze cisla a maximalne jedna jedina tecka, nebo zadna
zde mi ignoruje prave jednu tecku a bere v poradku i tecky dve tri atd... coz je pro me spatne a potrebuji cisla a maximalne jednu nebo zadnou tecku [0-9].? |
||
nightfish Profil |
#7 · Zasláno: 22. 2. 2007, 19:14:09 · Upravil/a: nightfish
tečku musíš oescapovat - tohle je RE pro žádnou nebo jednu tečku
\.{0,1} |
||
martinenecek Profil |
#8 · Zasláno: 22. 2. 2007, 19:14:23
za hranatou zavorku patri jeste lomeno
|
||
martinenecek Profil |
#9 · Zasláno: 22. 2. 2007, 19:15:23
To: nightfish aha vyzkousim dekuji :)
|
||
martinenecek Profil |
#10 · Zasláno: 22. 2. 2007, 19:19:30
nejde a nevadi mu, ani kdyz zadavam carky.... coz je chyba
|
||
nightfish Profil |
#11 · Zasláno: 22. 2. 2007, 19:29:18
co takhle?
^[1-9]+[0-9]*\.{0,1}[0-9]*$ |
||
martinenecek Profil |
#12 · Zasláno: 22. 2. 2007, 19:34:04
To: nightfish
Bingo dekuji za radu, to je ono :) |
||
Acci Profil |
#13 · Zasláno: 22. 2. 2007, 20:47:02
Asi bych ještě pořešil, aby se mohla zadávat i čárka. Desetinná tečka v češtině totiž neexistuje, správně je pouze desetinná čárka.
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0