2016-05-29 125 views
1

一直在做一个简单的表单+数据验证的事情,我使用indexof来确保有一个“@”和“。”。在电子邮件地址中,但它总是返回-1。Indexof()返回-1

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" 
} 

我试图改变的indexOf检查,以不同的字母,而不是符号,但它仍返回-1,这让我觉得我试图不正确地获取数据。

+4

它的custEmail.value.indexOf( “@”)== - 1,不是indexOf(“@”== -1) –

+2

哦,我的上帝,我是个白痴。我责备缺乏睡眠。就是这样。谢谢。 –

回答

2

您的括号是在错误的地方

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

您可以使用HTML5输入类型的电子邮件,而不是写自己的验证

<input type="email"/> 
+0

这是一个技能练习,而不是应该完全实用的东西,这就是我为什么要手动完成这项练习的原因。 –

+0

好吧,你也使用正则表达式来做这些验证,作为技能开发的一部分 –