Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите разобраться с html кодом?

Кристина Белоконь Ученик (95), закрыт 4 года назад
var predefinedValues = ["дерево", "олень"]
var checkButton = document.getElementById("check");
var input = document.getElementById("input");
var result = document.getElementById("result");
checkButton.addEventListener("click", function() {
if(input.value) {
if(predefinedValues.includes(input.value.toLowerCase())) {
result.innerText = "Ты хорош";
} else {
result.innerText = "Ты плох";
}

Если код написан так, то вариант Ты хорош выпадает только если есть только один из этих символов. А мне нужно, чтобы вариант Ты хорош выпадало при наличии любого из перечисленных символов (оленя или дерева), даже если присутствуют другие символы.
Хелп!
Лучший ответ
Голова Робота Просветленный (36328) 4 года назад
Символом в программировании называются буквы, цифры, запятые и прочие значки. "олень" - это строка - последовательность символов. Без толкового описания непонятно что нужно сделать.
Код на языке JavaScript. HTML не является языком программирования.
Как я понимаю, требуется определить: содержит ли указанная строка подстроку из массива.
Пример для запуска в консоли:
["дерево", "олень"].find(s => '1олень2'.includes(s))
Остальные ответы
Elepsis Eclipse Гений (64066) 4 года назад
https://jsfiddle.net/OPTlMUS/2wdj4kqv/ - покликай)

var predefinedValues = ["дерево", "олень"]
var checkButton = document.getElementById("check");
var input = document.getElementById("input");
var result = document.getElementById("result");
checkButton.addEventListener("click", function() {
  if (input.value) {
    var reg = new RegExp(input.value, 'i');
    var match = predefinedValues.some(function(elem) {
      return elem.match(reg);
    });

    result.innerText = match ? "Ты хорош" : "Ты плох";
  }
});
Голова РоботаПросветленный (36328) 4 года назад
Так нельзя. Что будет, если ввести например
.*
или
*
Это не то, что ожидает пользователь.
Elepsis Eclipse Гений (64066) ой... спасибо.
Голова РоботаПросветленный (36328) 4 года назад
Даже без звёздочки, только точка
Похожие вопросы