首页 > 解决方案 > 要求输入两个特定单词的输入框

问题描述

我是新手,所以我希望我能很好地解释我的问题是什么。

我有一个测验,我创建了一个输入框作为答案。要访问另一个链接,您必须在其中输入两个单词,但顺序应该无关紧要。不管你写“word1 word2”还是“word2 word1”都没有关系,应该只有一个规则:两个词都应该提到。那可能吗?

到目前为止我的代码:

        function checkText()
    {
        var textwunf_1 = document.getElementById("wunf").value;
        if(textwunf_1.toLowerCase() == "word1" && "word2"){

    window.open("URL","_self"); 

        }
    else{

    xxx 

        }
    }

这没用。

在我只想检查是否使用了一个词之前,就像这样:

var textwunf_2 = 'word1';

    function checkText()
    {
        var textwunf_1 = document.getElementById("wunf").value;
        if(textwunf_1.toLowerCase().indexOf(textwunf_2) == -1){

    xxx

        }
    else{
            window.open("URL","_self"); 

        }
    }

这行得通,但我不能用两个词,因为如果我写

var textwunf_2 = 'word1 word2';

顺序不能是'word2 word1'...

我的问题有解决方案吗?

希望有人能理解和帮助我,谢谢!

标签: javascriptinputboxinputbox

解决方案


我正在创建一个接收文本并检查是否包含答案(xxyy)的函数,顺序无关紧要。该ans列表可以包含 1,2 个或更多单词,它会起作用。

let ans = ['xx','yy'];

function check(text){
  text = text.toLowerCase();
  let counter = 0;
  ans.forEach((x) => {text.includes(x) && counter++ })
  return counter === ans.length
}

console.log(check("aa bb")) // false
console.log(check("xx bb")) // false
console.log(check("aa yy")) // false
console.log(check("xx yy")) // true
console.log(check("yy xx")) // true


推荐阅读