今天我想问一个关于形式(kinda)的问题。好的,所以我想要在用户将文本放在文本区域的地方,但是只有在输入某些字符串时,它才会转到下一页(类似于codeacademy的编辑器)

<HTML>
  <HEAD>
    <TITLE>this is NOT a password screen!</TITLE>
    <SCRIPT language="JavaScript">
    <!--hide
    var password=prompt('Enter the text:','');
    var mypassword="word";
    if (password==myword)
    {
      window.location="pass.html";
    }
    else
    {
      window.location="nopass.htm";
    }
    var myword2="a password";
    if (password==myword2)
    {
      window.location="core2.html";
    }
    else
    {
      window.location="nopass.htm";
    }
    //-->
    </SCRIPT>
  </HEAD>
  <BODY>
  &nbsp;
  </BODY>
</HTML>

最佳答案

埃里克(Eric)给出了更好,更复杂的答案,我同意您不应该对密码使用此方法,但是如果您想要一种与您尝试做的事情相当的方法,请使用indexOf函数或Substring功能取决于您要执行的操作。

var userInput = //however you choose to get user input
if (userInput.indexOf("pass1") > -1) {//user input has pass1 in it somewhere
    window.location="pass.html";
}
else if (userInput.indexOf("pass2") > -1) //user input has pass2 in it somewhere {
    window.location="pass2.html";
}
else {
    window.location="nopass.html";
}


如果请求的字符串在原始字符串中不存在,则indexOf返回-1;如果请求的字符串不存在,则返回一个从0开始的数字,其中0是第一个字符。如果您只想查看userInput中的特定区域是否是特定单词,则将If语句中的所有内容替换为

(userInput.subString(0, 5) == expectedInput)


请注意,0是第一个字符,5是第六个字符,但是子字符串在第二个输入处停止并且不添加它,因此将不返回第六个字符,仅返回第一个5。

因此,如果userInput为“ thepass1”,则第一部分将简化为“ thePa”,而如果ExpectedInput为“ pass1”,则它将失败。但是,如果userInput为“ pass1 is the Password”,则它将通过,因为它将简化为“ pass1”。

在indexOf示例中,因为pass1位于字符串中的某个位置,所以两者都将通过第一次检查。

关于javascript - 如何用必需的单词js + HTML制作文本框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34185506/

10-10 03:35