Javascript 检查数组中是否存在多个值中的任何一个

Javascript 检查数组中是否存在多个值中的任何一个,javascript,html,Javascript,Html,(自从一些答案发布后,这个问题已经有了一些改变。这就是为什么它们看起来有点离题和/或脱离上下文的原因) 你好!!基本上,我有一个由用户输入的字符串(例如,图像的标题)和一个我想“阻止”用户输入的链接/单词数组。(这是为了防止骂人、做广告等) 所以我需要一些代码来检查数组中是否存在某个值 这是我的阵列: var blockedUrls = ["https://google.com", "https://facebook.com"] 这是我要检查的值 var userInput = "Hello!

(自从一些答案发布后,这个问题已经有了一些改变。这就是为什么它们看起来有点离题和/或脱离上下文的原因)

你好!!基本上,我有一个由用户输入的字符串(例如,图像的标题)和一个我想“阻止”用户输入的链接/单词数组。(这是为了防止骂人、做广告等)

所以我需要一些代码来检查数组中是否存在某个值

这是我的阵列:

var blockedUrls = ["https://google.com", "https://facebook.com"]
这是我要检查的值

var userInput = "Hello! Check out my cool facebook profile at https://facebook.com";
(这通常会设置为从某种类型的输入获取的值,静态文本只是为了简化)

这就是我尝试过的:

let values = userInput.split(" ");
values.forEach((i, value) => {
    // inArray is a made-up-function in order to better explain my intention
    // The function I need here is a function that can check whether the value of the "value" variable exists in the "blockedUrls" array.
    if(value.inArray(blockedUrls)) {
        return alert(`You can't say that word! [${value}]`);
    }
});

总结:如何检查数组中是否存在多个值中的任何一个?

您可以使用
indexOf

var value = document.getElementById('myFile').value;
if (unAllowedLinks.indexOf(value) != -1) {
    // value is in array
}

-1
在数组中找不到值时返回,否则返回值的索引。

您可以使用
indexOf

var value = document.getElementById('myFile').value;
if (unAllowedLinks.indexOf(value) != -1) {
    // value is in array
}

-1
在数组中找不到值时返回,否则返回值的索引。

如果您希望能够更改
未允许链接中的值数量,最好使用以下命令:

function updateImage() {
    if (unAllowedLinks.indexOf(document.getElementById('myFile').value) > -1) {
        alert("This link is reserved");
    } else {
        // Use the value
    }
};

如果您希望能够更改
unAllowedLinks
中的值数量,最好使用以下命令:

function updateImage() {
    if (unAllowedLinks.indexOf(document.getElementById('myFile').value) > -1) {
        alert("This link is reserved");
    } else {
        // Use the value
    }
};

建议:如果你用正确的标志来标记你的问题,这将是一件好事,在这种情况下是html和javascript。这样你就可以更快地从正确的社区得到答案。乍一看,我注意到你把长度拼错了两次。这可能无法解决您的问题。列出不允许的链接是一种验证形式。这通常是在服务器端完成的,以确保安全性,因为没有办法绕过步骤服务器验证,但有很多方法绕过步骤客户端验证。乍一看:
unAllowedLinks[0,1,]
是一个错误,
isEmpty
中有一个输入错误:你把
lenght
改为
length
建议:如果你用正确的标记标记你的问题就好了,这种情况下是html和javascript。这样你就可以更快地从正确的社区得到答案。乍一看,我注意到你把长度拼错了两次。这可能无法解决您的问题。列出不允许的链接是一种验证形式。这通常是在服务器端完成的,以确保安全性,因为没有办法绕过step服务器验证,但是有很多方法绕过step客户端验证。乍一看:
未允许的链接[0,1,]
是一个错误
isEmpty
中有一个输入错误:您将
长度
改为
长度
哇,看来你赢了我。到了11秒,哈哈,看起来你比我还厉害。11秒lol。如果你使用的是最新的浏览器,。是的,这取决于你的需要,尽管没有IE11或关闭。所以对于一些发展缓慢的企业来说,这是不可能的。但很高兴包括在内。谢谢如果您使用的是最新的浏览器,.Yup取决于您的需要,尽管没有IE11或down。所以对于一些发展缓慢的企业来说,这是不可能的。但很高兴包括在内。谢谢