Autor | Zpráva | ||
---|---|---|---|
greno Profil * |
#1 · Zasláno: 26. 11. 2008, 22:23:22
Mam nasledujuci skript na overovanie mailovej adresy ale ako skusam, tak skusam nikdy mi nejde. neviete mi prosim poradit v com je chyba?
toto vrchne mam v stranke a tu spodnu fuknciu vkladam z externeho suboru: <form id="reg_mail" name="reg_mail" method="post" action=""> <input type="text" name="email" class="pole"> <span id="kontrola2"><script charset="UTF-8"> setInterval("email(\'email\')",100); </script></span> function email(form) { var input = document.reg_mail.getElementById(form); if(input.value != null && input.value.length <> 4 && !input.value.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA- Z0-9]{2,4})+$/)) { document.getElementById("kontrola2").innerHTML="Zlý formát adresy."; return false; } } |
||
joe Profil |
#2 · Zasláno: 26. 11. 2008, 22:29:04
Nevidím tam id, které hledáš v JavaScriptu.
<input type="text" name="email" class="pole" id="email"> --- var input = document.getElementById('email'); |
||
greno Profil * |
#3 · Zasláno: 26. 11. 2008, 22:31:18
aj tak to nefrci :(
|
||
greno Profil * |
#4 · Zasláno: 27. 11. 2008, 16:32:16
nevie mi nik poradit?
|
||
Měsíček Profil |
#5 · Zasláno: 27. 11. 2008, 16:33:58
Víme, pošli ten script znovu (už opravený o joeovu radu).
|
||
Chamurappi Profil |
#6 · Zasláno: 27. 11. 2008, 16:55:20
Reaguji na greno:
„<script charset="UTF-8">“ Kde jsi ten charset sebral? Nic tam nedělá. „input.value.length <> 4“ Operátor „nerovná se“ se v JavaScriptu píše „!=“. „([a-zA- Z0-9]{2,4})+“ Bude-li mít někdo e-mail pod doménou s koncovkou „.museum“, tak má smůlu. |
||
Měsíček Profil |
#7 · Zasláno: 27. 11. 2008, 16:55:21 · Upravil/a: Měsíček
Jinak nejsem JS Guru takže omluv mé ne zrovna nejkratší a nejspolehlivější řešení, ale tohle by mohlo fungovat.
<form name="form" action="#"> <input type="text" name="email"> <input type="button" value="Zkontroluj" onClick="check_email (document.form.email.value);"> <span id="kontrola"></span> </form> <script type="text/javascript"> var box = document.getElementById("kontrola"); function check_email (e) { var r = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/; box.innerHTML = (r.test(e)) ? "Syntaxe e-mailu je správná!" : "Syntaxe e-mailu není správná!"; } </script> |
||
greno Profil * |
#8 · Zasláno: 27. 11. 2008, 17:42:33
uz to fici, ale nevies mi poradit ako by som do toho zakomponoval to ze bude to robit az po 4 znakoch (ked bude dlzka viac ako 4 znaky)?
|
||
Měsíček Profil |
#9 · Zasláno: 27. 11. 2008, 17:45:44
Vím, ale je to zbytečné když minimální délka e-mailu, který projde je 6 znaků (x@x.cz) tedy kontrola jestli má méně než 4 je minimálně krávovina.
|
||
greno Profil * |
Chamurappi
„<script charset="UTF-8">“ tam robi vela pretoze je to z externeho suboru a potom je to skarede „([a-zA- Z0-9]{2,4})+“ no to je mozne len ja som to smajzol z jednej stranke, kedze tieto regularne vyrazy su pre mna tabu |
||
greno Profil * |
#11 · Zasláno: 27. 11. 2008, 17:48:04
„Vím, ale je to zbytečné když minimální délka e-mailu, který projde je 6 znaků (x@x.cz) tedy kontrola jestli má méně než 4 je minimálně krávovina.“
len nechcem robit kontrolu ked clovek zacne uz pisat (som troska upravil ten skript na nie onclick ale onkeyup) a chcem aby to zacalo kontroloval az ked je napisane minimalne @.sk (alebo nieco ine) |
||
Měsíček Profil |
#12 · Zasláno: 27. 11. 2008, 17:48:56
Jak už jsem řekl, je to zbytečnost, ale kdyby jsi chtěl alespoň orientačně vědět jak se to dělá, tak, místo:
box.innerHTML = (r.test(e)) ? "Syntaxe e-mailu je správná!" : "Syntaxe e-mailu není správná!"; box.innerHTML = (r.test(e) && e.length > 4) ? "Syntaxe e-mailu je správná!" : "Syntaxe e-mailu není správná!"; |
||
Měsíček Profil |
#13 · Zasláno: 27. 11. 2008, 17:51:10
"len nechcem robit kontrolu ked clovek zacne uz pisat (som troska upravil ten skript na nie onclick ale onkeyup) a chcem aby to zacalo kontroloval az ked je napisane minimalne @.sk (alebo nieco ine)"
Jednoduše. Stačí se naučit používat podmínky a regulární výrazy. |
||
greno Profil * |
#14 · Zasláno: 27. 11. 2008, 17:54:20
<meta> v .js subore??
a to && e.length > 4 nefunguje :( |
||
Měsíček Profil |
#15 · Zasláno: 27. 11. 2008, 17:55:30
"a to && e.length > 4 nefunguje :("
Funguje, pokud si můj skript jinak nepřepisoval. "<meta> v .js subore?? " Ne. <meta> v HTML souboru. |
||
greno Profil * |
#16 · Zasláno: 27. 11. 2008, 17:59:03
<meta> mam v html ale nefungovalo to, stale to bolo skarede. a tvoj skript som len prepisal ze
<input type="text" name="email" onkeyup="check_email (document.form.email.value);"> inak je to iste |
||
Měsíček Profil |
#17 · Zasláno: 27. 11. 2008, 18:01:13
"<input type="text" name="email" onkeyup="check_email (document.form.email.value);">
inak je to iste" Špatné řešení. "<meta> mam v html ale nefungovalo to, stale to bolo skarede. a tvoj skript som len prepisal ze " Protože kódování v META elementu se musí shodovat s kódováním souboru jako takového - což zjevně nemáš. |
||
greno Profil * |
#18 · Zasláno: 27. 11. 2008, 18:12:58
to je pravda, ale aby som sa s tym nemusel parat tak som dal charset.
a ake je spravne riesenie? |
||
Časová prodleva: 15 let
|
0