2016-05-29 14 views
1

Ich machte eine einfache Form + Datenvalidierung Sache, ich benutze indexof um sicherzustellen, dass es ein "@" und "." in der E-Mail-Adresse, aber es gibt immer -1 zurück.Indexof() gibt -1 zurück

var custEmail = document.getElementById("custEmail"); 
if (custEmail.value == "" || custEmail.value.indexOf("@" == -1) || custEmail.value.indexOf("." == -1)) 
{ 
    alert("You must enter a valid Email address!\n" 
} 

Ich habe versucht, den IndexOf Scheck an verschiedenen Buchstaben anstelle der Symbole zu ändern, aber es gibt immer noch -1, was ich denken läßt, versuche ich falsch die Daten zu erhalten.

+4

können es custEmail.value.indexOf ("@") == - 1, nicht indexOf ("@" == -1) –

+2

Oh mein Gott, ich bin ein Idiot. Ich beschuldige den Mangel an Schlaf. Das war's. Vielen Dank. –

Antwort

2

Ihre Pars sind an der falschen Stelle

custEmail.value.indexOf("@") == -1 || custEmail.value.indexOf(".") == -1 
0

Sie HTML5 input type E-Mail selbst, anstatt zu schreiben Validierungen

<input type="email"/> 
+0

Dies ist eher eine Fähigkeitsübung als etwas, das vollständig funktional sein soll, weshalb ich es manuell machen wollte. –

+0

Okay, großartig, Sie verwenden Regex auch, um solche Validierungen als Teil der Kompetenzentwicklung zu machen –

Verwandte Themen