Autor | Zpráva | ||
---|---|---|---|
ato3 Profil |
#1 · Zasláno: 25. 1. 2009, 18:50:29
Zdravím, vyrobil jsem si tento regulární výraz..potřebuji testovat datum... pokud uložím datum jako 12.09.2006 - OK, když datum nějak zprzním(1.09.2006, 09.5.2009, 22.12.200) - neprojde to, což je dobře, ale pokud napíšu
09.02.2006R, 09.02.20066768, 09.02.2006* - tohle projde taky, což nechci, jak tomu omezit tuhle délku? Nebo mám něco v regulárním výrazu špatně? $re="/(0[1-9]|[1-2][0-9]|3[01])\.(0[1-9]|1[0-2])\.(20[0-9][0-9])/"; //regulární výraz $duzp=$_REQUEST['duzp']; //testovaný řetězec if(preg_match($re,$duzp)) Děkuji za pomoc |
||
SwimX Profil |
#2 · Zasláno: 25. 1. 2009, 19:45:21 · Upravil/a: SwimX
ato3
zvláštní. Výraz mi připadá dobře. 3lo by to obějít pomcí strlen if(preg_match($re,$duzp) && strlen($duzp) == 10) |
||
AM Profil * |
#3 · Zasláno: 25. 1. 2009, 20:00:53
$re="/^(0[1-9]|[1-2][0-9]|3[01])\.(0[1-9]|1[0-2])\.(20[0-9][0-9])$/";
Zatučněné znaky definují začátek a konec řetězce. Tím zaručíš, že pokud je v řetězci něco navíc před nebo za tím, co se shoduje s tvým výrazem, výsledek bude false. |
||
ato3 Profil |
#4 · Zasláno: 25. 1. 2009, 20:05:21
AM
Super, tohle je přesně to co jsem potřeboval! Díky SwimX Tohle mě taky napadlo, ale když už jsme se dal do regulárních výrazů, chtěl jsem to udělat pomocí toho:-) Taky ale dík |
||
Časová prodleva: 15 let
|
0