检查数组是否允许使用字符

时间:2013-11-07 05:28:59

标签: javascript arrays string-matching

我不明白为什么这个代码仍然返回false,即使我在出现提示时输入abcdef,因为它应该返回true。

var userinput = prompt('Input characters:');

var lowercase = userinput.toLowerCase();

var allowedcharacters = ["a", "b", "c", "d", "e", "f"]

function match(input, statement) {
    for (var i = 0; i < statement.length; i++) {
        if (input.indexOf(statement[i]) == -1) {
            return false;
        }
    }
    return true;
}

if (lowercase == allowedcharacters){
  alert(true);
}
else{
  alert(false);
}

4 个答案:

答案 0 :(得分:1)

这是完整的代码。这个是通过查看这个试图获得一个想法。欢呼!!!

enter image description here

答案 1 :(得分:0)

您没有呼叫match功能。你可能想要:

if (match(lowercase, allowedcharacters)){
  alert(true);
}
else{
  alert(false);
}

编辑每个请求,如果没有字符与不允许的字符匹配,则match的变体返回true

function noneMatch(input, disallowed) {
    for (var i = 0; i < disallowed.length; i++) {
        if (input.indexOf(statement[i]) >= 0) {
            return false;
        }
    }
    return true;
}

答案 2 :(得分:0)

您没有使用已构建的功能匹配

答案 3 :(得分:0)

var userinput = prompt('Input characters:');

var lowercase = userinput.toLowerCase();

var allowedcharacters = ["a", "b", "c", "d", "e", "f"]



if (match(lowercase,allowedcharacters)){
  alert(true);
}
else{
  alert(false);
}


//function to check
function match(input, statement) {
    for (var i = 0; i < statement.length; i++) {
        if (input.indexOf(statement[i]) == -1) {
            return false;
        }
    }
    return true;
}