Autor | Zpráva | ||
---|---|---|---|
Petr Svetr Profil |
#1 · Zasláno: 3. 6. 2008, 11:43:34
Prosim vsechny o radu, jak napsat regular pro overeni datumu.
Projit ma 6.6.2008 , 6.06.2008 ( a pripadne i 6.6.08 , 6.6.2008) Zkousel jsem /^(([0-9])|([0-2][0-9])|(3[0-1]))\.(([1-9])|(0[1-9])|(1[0-2]))\.(([0- 9][0-9])|([1-2][0,9][0-9][0-9]))$/ Diky |
||
ninja Profil |
#2 · Zasláno: 3. 6. 2008, 12:28:28
^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{2}|[0-9]{4})$
Jestli se jedna o validni (realne) datum si overis nasledne v aplikaci. |
||
lordfrikk Profil |
#3 · Zasláno: 3. 6. 2008, 12:34:36 · Upravil/a: lordfrikk
Tady to máš:
(3[0-1]|2[0-9]|1[0-9]|[0-9])\.(1[0-2]|0-9)\.([0-9]{2}){1,2} Kontrola pro den a měsíc je v pohodě, ale co se týče roku, tak rok může být vlastně 0-nekonečno. Záleží, jaký typ data budeš kontrolovat... pokud budeš kontrolovat datum narození, pak to omezíš např. na 1900-2000, pak by ta poslední část (místo "([0-9]{2}){1,2}") vypadala takto: ((19)?([0-9]{2}))|2000 |
||
Mastodont Profil |
#4 · Zasláno: 3. 6. 2008, 12:41:40 · Upravil/a: Mastodont
--- DELETED
|
||
peta Profil |
#5 · Zasláno: 3. 6. 2008, 12:47:32
Petr Svetr
viz ninja A potom bych ho zpetne zkusil prohnat pres datumove funkce tam a zpet, zda dostanes stejne hodnoty ^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{2}|[0-9]{4})$ -> 0-9 00-99 . 0-9 00-99 . 00-99 0000-9999 split('.') -> d*1, m*1 , y*1 datum(d,m,y) datum_zpet-> d2,m2,y2 d2==d1 && m2==m1 ... ? Ano, pak je to platne datum a platny format. |
||
Časová prodleva: 16 let
|
0