IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
KleoCZ
Člen
Avatar
KleoCZ:3.2.2014 12:55

Zdravím,

potřeboval bych poradit proč mi nejde zvalidovat e-mail. Věc se má tak, že regulární výrazy mi zvalidují vložený e-mail a vrátí hodnotu true (kontroluji krokově přes alert), ale následně to podmínka ignoruje a celý proces se zastaví. Co jsem vypozoroval, tak je asi zrada ve znaku "@", protože když jej ve validaci vypustím a použiji příslušný regulární výraz je vše ok.

http://jsfiddle.net/Kleo86/qdT8b/3/

<fieldset id="poleEmail">
        <legend>
              E-mail:
        </legend>
           <input type="text" id="email" placeholder="Vaš@email.cz" />
     </fieldset>
$(odeslat).click(function(){
//validace email
var email = $("#email").val();
var val2 = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-z]{2,4}$/;
var valEmail = val2.test(email);

if (valEmail == true)
{
   $(email).add("<div>Email je OK </div>").css(styles1).appendTo("#poleEmail");
   var ok2 = 1;
}
 else
{
    $(email).add("<div>Email byl zadán chybně!!!   </div>").css(styles2).appendTo("#poleEmail");
}
Odpovědět
3.2.2014 12:55
Apeluji na všechny co odpovídají na dotazy, tak pokud je to jen trochu možné dávejte rovnou reálná řešení třeba v htt...
Avatar
Odpovídá na KleoCZ
Neaktivní uživatel:3.2.2014 12:57
function validateEmail(email) {
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(email);
}

zkus tohle ;)

Nahoru Odpovědět
3.2.2014 12:57
Neaktivní uživatelský účet
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na KleoCZ
David Hartinger:3.2.2014 17:31

Proč nepoužiješ input typu email?

Nahoru Odpovědět
3.2.2014 17:31
New kid back on the block with a R.I.P
Avatar
Odpovídá na KleoCZ
Neaktivní uživatel:3.2.2014 17:33

Myslím, že na to má PHP zabudovanou funkci, ale to bych teď kecal. :D

Nahoru Odpovědět
3.2.2014 17:33
Neaktivní uživatelský účet
Avatar
KleoCZ
Člen
Avatar
KleoCZ:3.2.2014 19:10

FunebrakCZ: Děkuji za napsání čísti kódu. A že jsi to zkusil, jen nevím proč mě to nefunguje.

sdraco: i přes použití type="email" (problém přetrvává, a již jsem to i před tím zkoušel)

Minoru: "myslím", že to chci zkusit v jquery

Koukne se na to někdo a případnou chybu přímo v jsfidle opraví ? Království a půl koně k tomu :)

Nahoru Odpovědět
3.2.2014 19:10
Apeluji na všechny co odpovídají na dotazy, tak pokud je to jen trochu možné dávejte rovnou reálná řešení třeba v htt...
Avatar
Michal Štěpánek:25.2.2014 8:38

Když jsem dělal validaci na e-mailovou adresu v ASP.NET použil jsem toto

\w+\@\w+\.\w+

a funguje to

Editováno 25.2.2014 8:38
Nahoru Odpovědět
25.2.2014 8:38
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na KleoCZ
David Hartinger:25.2.2014 9:08

Ujišťuji tě, že input typu email funguje :) Validovat dnes email v JavaScriptu nedává žádný smysl. Na serveru to samozřejmě validovat musíš, třeba v PHP.

Nahoru Odpovědět
25.2.2014 9:08
New kid back on the block with a R.I.P
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.