Avatar
kleofas.hatlapatka:

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
Jiří Gracík
Redaktor
Avatar
Odpovídá na kleofas.hatlapatka
Jiří Gracík:
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  +1 3.2.2014 12:57
Creating websites is awesome till you see the result in another browser ...
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na kleofas.hatlapatka
David Čápka:

Proč nepoužiješ input typu email?

Nahoru Odpovědět 3.2.2014 17:31
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na kleofas.hatlapatka
Inoue Yūki:

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

Nahoru Odpovědět 3.2.2014 17:33
Avatar
kleofas.hatlapatka:

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:

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 Čápka
Tým ITnetwork
Avatar
Odpovídá na kleofas.hatlapatka
David Čápka:

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
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
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.