我正在创建一个非常简单的小游戏。
我想知道如何在以下代码中接受任何输入值…
if(answer === "My name is" + * + "and I am a Leo" ) {
alert("Correct!")
}
根据我的理解,星号会接受用户输入的任何值。除此之外,脚本在我写完以上内容后会中断。
忘记添加JSFIddle
试试这个:
if (answer.substring(0, 10) == "My name is" && answer.slice(-14) == "and I am a Leo") {
alert("Correct!");
}
substring(0, 10) ->获取前10个字符
Slice(-14) ->获取最后14个字符
这里也有一个正则表达式方法:
var matches = answer.match(/^My name is (.*) and I am a Leo$/);
if (matches != null) {
alert("Correct!"); //use matches[1] to get the name
}
我假设您已经提示用户输入answer
变量的值。
您可能想使用正则表达式:
if (answer.search(/^My name is.*and I am a Leo$/) === 0) {
alert("Correct!");
}
看看这张小抄,看看不同的字符是什么意思。搜索方法返回匹配在字符串中的位置,失败时返回-1。在本例中,由于^
匹配字符串的开头,它将在成功时始终返回0。
$
匹配字符串的末尾,.*
表示匹配除换行符以外的任何字符0次或0次以上(即任意次数)。