Pouze tento týden sleva až 80 % na e-learning týkající se Pythonu. Zároveň využij akce až 80 % zdarma při nákupu kreditů. Více informací:
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._-][email protected][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 = /^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[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 Čápka
Tým ITnetwork
Avatar
Odpovídá na KleoCZ
David Čápka:3.2.2014 17:31

Proč nepoužiješ input typu email?

Nahoru Odpovědět
3.2.2014 17:31
One of the most common causes of failure is the habit of quitting when one is overtaken by temporary defeat.
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 Čápka
Tým ITnetwork
Avatar
Odpovídá na KleoCZ
David Čápka: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
One of the most common causes of failure is the habit of quitting when one is overtaken by temporary defeat.
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.