今天我想问一个关于形式(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>
</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/