Permalänk

Validering email javascript

Hej,

Jag behöver lite hjälp med email validering (javascript).
All validering är i stort sett klar utom email.
Här kommer en länk tilll min kod http://jsfiddle.net/nrTnL/1/
Måste jag skapa en separat funktion eller går det att inkludera i min nuvarande funktion?

Jag vet att min kod inte är speciellt snygg men har precis börjat med javascript.

Tack på förhand

Visa signatur

i5 6700K @4.5GHz -Noctua NH-U14S -Asus Geforce GTX 980 Ti Strix DirectCU III -ASUS PRO GAMING Z170 -Crucial DDR4 16 GB -Crucial MX300 750GB -Corsair RM750i - NZXT H440W Silent Ultra - ASUS VC239 -Dell Professional P1914S IPS

Permalänk
Permalänk
Permalänk

Har läst kursen som Rickybobby läser, vet därför att han måste använda det reguljära uttryck som han har med i sin kod.
Men han kan ta och skicka den länken till sin kursansvarige.

Permalänk

Tror de är lediga i helgen =).

Visa signatur

i5 6700K @4.5GHz -Noctua NH-U14S -Asus Geforce GTX 980 Ti Strix DirectCU III -ASUS PRO GAMING Z170 -Crucial DDR4 16 GB -Crucial MX300 750GB -Corsair RM750i - NZXT H440W Silent Ultra - ASUS VC239 -Dell Professional P1914S IPS

Permalänk

Vad gör jag för fel?

var errormessage=""; var email = document.getElementById('field_email').value; var pattern = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/; if(pattern.test(email)==false) { errormessage+="Kontrollera E-post \n"; document.getElementById('field_email').style.borderColor = "red"; }

Visa signatur

i5 6700K @4.5GHz -Noctua NH-U14S -Asus Geforce GTX 980 Ti Strix DirectCU III -ASUS PRO GAMING Z170 -Crucial DDR4 16 GB -Crucial MX300 750GB -Corsair RM750i - NZXT H440W Silent Ultra - ASUS VC239 -Dell Professional P1914S IPS

Permalänk

Skulle vara tacksam om någon kunde leda mig ipå rätt spår.

Visa signatur

i5 6700K @4.5GHz -Noctua NH-U14S -Asus Geforce GTX 980 Ti Strix DirectCU III -ASUS PRO GAMING Z170 -Crucial DDR4 16 GB -Crucial MX300 750GB -Corsair RM750i - NZXT H440W Silent Ultra - ASUS VC239 -Dell Professional P1914S IPS

Permalänk
Medlem
Skrivet av Rickybobby:

Vad gör jag för fel?

test returnerar true om texten matchar. Så din kod just nu släpper igenom ogiltiga addresser och stoppar giltiga.

Permalänk
Medlem

Det regexet är mycket dåligt.
Helt korrekta mailadresser som foo+bar@gmail.com, foobar@[173.201.26.77], O'neil@hotmail.com, anka@söder.se kommer inte att godkännas.

Okorrekta adresser som .foobar.@example.com kommer däremot godkännas.

EDIT: Nu ser vi även att forummjukvaran också har sina brister, även om den är bättre än regexet ovan^

Permalänk

Har fått det att fungera nu! Hade glömt .value på min email variabel.
Konstigt att de lär oss validera medhjälp av regex om det är dåligt.

Visa signatur

i5 6700K @4.5GHz -Noctua NH-U14S -Asus Geforce GTX 980 Ti Strix DirectCU III -ASUS PRO GAMING Z170 -Crucial DDR4 16 GB -Crucial MX300 750GB -Corsair RM750i - NZXT H440W Silent Ultra - ASUS VC239 -Dell Professional P1914S IPS

Permalänk
Skrivet av Rickybobby:

Vad gör jag för fel?

var errormessage=""; var email = document.getElementById('field_email').value; var pattern = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/; if(pattern.test(email)==true)) { errormessage+="Kontrollera E-post \n"; document.getElementById('field_email').style.borderColor = "red"; }

Ser ut som att du har ett fel i syntaxen vid if-satsen;

if(pattern.test(email)==true))

borde vara

if(pattern.test(email)==true)