Autor | Zpráva | ||
---|---|---|---|
milhaushk Profil |
#1 · Zasláno: 24. 11. 2008, 22:39:44
Zdravím vás,
mám menší problém s primitivním ověřením jednoho pole ... chci, aby návštěvník zadal něco ve tvaru 20RR-MM-DD, řeším to takto (samozřejmě, že i tak tam může zadat nějakou blbost, ale o to nejde): rd = new RegExp("^(20\d{2})(-\d{2}){2}$"); if (!rd.test(formular.datum.value)) { alert("Zadal jste špatně datum!"); formular.datum.focus(); return false; } Bohužel to nefunguje, problémem se zdá být \d, protože když zkusím místo něj dát tečku, tak to funguje: rd = new RegExp("^(20.{2})(-.{2}){2}$"); if (!rd.test(formular.datum.value)) { alert("Zadal jste špatně datum!"); formular.datum.focus(); return false; } Nevíte, co s tím? Předem dík. |
||
Leo Profil |
#2 · Zasláno: 24. 11. 2008, 23:00:26
1, proc new Regexp a ne prosty literal regularniho vyrazu?
2, naistalujte si program Regex Coach a odladte si to Leo |
||
ah01 Profil |
#3 · Zasláno: 24. 11. 2008, 23:21:23
milhaushk
"^(20\\d{2})(-\\d{2}){2}$" Zadáváš reg. výraz jako text. Pokud chceš v textu zapsat zpětné lomítko musíš ho napsat zdvojené „\\“ (escape výraz). |
||
milhaushk Profil |
#4 · Zasláno: 25. 11. 2008, 08:18:45
Leo:
1. To jsem jen odněkud zkopíroval, nevím, jaký je tam rozdíl ... Na javascript jsem lámer. 2. Nainstaloval jsem si to, ještě to prozkoumám, díky. ah01: Aha, teď už to funguje, díky moc. |
||
Časová prodleva: 15 let
|
0