Javascript 检查是否存在带有for循环和indexOf的单词时出现标记错误

Javascript 检查是否存在带有for循环和indexOf的单词时出现标记错误,javascript,loops,indexof,Javascript,Loops,Indexof,当用户键入任何内容时,我试图检查用户输入中是否有“@gmail.com”一词,如果该词不存在,则重复该问题,直到用户包含“@gmail.com”一词,但我在控制台中遇到意外的令牌错误),我刚开始学习循环,但想尝试这个想法,只使用for循环和if语句 for(var userInput=prompt(“输入您的电子邮件”);userInput.indexOf(“@gmail.com”)=-1);{ var userInput=prompt(“输入您的电子邮件”); 如果(userInput.in

当用户键入任何内容时,我试图检查用户输入中是否有“@gmail.com”一词,如果该词不存在,则重复该问题,直到用户包含“@gmail.com”一词,但我在控制台中遇到意外的令牌错误),我刚开始学习循环,但想尝试这个想法,只使用for循环和if语句

for(var userInput=prompt(“输入您的电子邮件”);userInput.indexOf(“@gmail.com”)=-1);{
var userInput=prompt(“输入您的电子邮件”);
如果(userInput.indexOf(“@gmail.com”)!=-1){
警惕(“欢迎”);
}

}
正如我所理解的,您想做什么:

var userInput;
do {
     userInput = prompt("enter your email");
} while(userInput.indexOf("@gmail.com") === -1)
alert("Welcome");

这可能不是最好的方法。使用这样的脚本,您不必检查“@gmail.com”的位置,也不能停止或取消,等等。

正如我所理解的,您想做什么:

var userInput;
do {
     userInput = prompt("enter your email");
} while(userInput.indexOf("@gmail.com") === -1)
alert("Welcome");

这可能不是最好的方法。对于这样的脚本,您不必检查“@gmail.com”的位置,也不能停止或取消,等等。

您的for循环语法是错误的。它必须有3个大括号中的语句,如下所示:

for(var i = 0; i < 2; i++) {
  //Do something
}

您认为循环语法是错误的。它必须有3个大括号中的语句,如下所示:

for(var i = 0; i < 2; i++) {
  //Do something
}


为什么要在这里使用循环?你想请求电子邮件直到它包含
@gmail.com
?是的,我想重复请求,谢谢回复。你的代码在这里有语法错误“-1”);“你的代码包含很多语法错误。告诉我们您打算做什么,当然,我们会帮助您。感谢您的回复,我对其进行了编辑并作了进一步解释。您为什么要在此处使用循环?你想请求电子邮件直到它包含
@gmail.com
?是的,我想重复请求,谢谢回复。你的代码在这里有语法错误“-1”);“你的代码包含很多语法错误。告诉我们您打算做什么,当然,我们会帮助您。谢谢您的回复,我对其进行了编辑并作了进一步的解释。看起来对于OP的用例来说已经足够了。无论如何,客户端验证是不够的,所以他是否使用
indexOf
,其实并不重要。谢谢!,这就是我想做的,这只是为了测试和学习的目的,但我还没有学习“do”关键字,我还想知道为什么它没有按照我写的方式工作。注意:这不是
do
关键字,而是
do{}while(表达式)。有计划在未来的javascript中添加一个
do
关键字,但在撰写本文时(2018年)还没有完成。看起来这对于OP的用例来说已经足够了。无论如何,客户端验证是不够的,所以他是否使用
indexOf
,其实并不重要。谢谢!,这就是我想做的,这只是为了测试和学习的目的,但我还没有学习“do”关键字,我还想知道为什么它没有按照我写的方式工作。注意:这不是
do
关键字,而是
do{}while(表达式)。未来有计划在javascript中添加一个
do
关键字,但在撰写本文时(2018年)还没有这样做。正如已经声明的那样,for循环中不应该有
var userInput
。您可以直接使用
userInput=prompt(“输入您的电子邮件”)
for循环中不应该有
var userInput
,因为它已经声明了。您可以直接使用
userInput=prompt(“输入您的电子邮件”)