ignore case for JavaScript

236
19 мая 2017, 16:37

Давая ответ на заданный кодом вопрос пользователь не должен беспокоиться о регистре.

var what = prompt("Просто вопрос","");
 if( what == "Ответ"){
  alert("Да, ответ");
}else{
  alert("Нет не ответ");
} 

Для достижения цели добавляю ignoreCase, получаю...

var what = prompt("Просто вопрос","");
 if( what.ignoreCase == "Ответ"){
  alert("Да, ответ");
 }else{
  alert("Нет не ответ");
 }

Скрипт запускается но совершенно IGNORE мои усилия. Или в JavaScript не так как в Java ?

Answer 1

Например, используйте регулярные выражения (заодно узнаете чего-нибудь новенького):

var what = prompt("Просто вопрос",""); 
if (/^Ответ$/i.test(what)) { 
  alert("Да, ответ."); 
} else { 
  alert("Нет, не ответ."); 
}

i в конце говорит о том, что сравнение будет делаться без учета регистра

^ - строка должна начинаться с текста, который идет за этим символом

$ - строка должна заканчиваться текстом, который идет перед этим символом

Answer 2

Вообще, в подобных случаях, принято приводить строку к нижнему(или верхнему регистру).

var what = prompt("Просто вопрос","") + ''; 
if (what.toLowerCase() === 'ответ') { 
  alert("Да, ответ"); 
} else { 
  alert("Нет не ответ"); 
}

READ ALSO
FormData Vuejs input type file

FormData Vuejs input type file

Ребята как можно с помощью FormData отправить одним запросом несколько input type file причем с разными name

285
JavaScript ( числовое значение Infinity )

JavaScript ( числовое значение Infinity )

Добрый вечер! Подскажите как может использоваться числовое значение Infinity??? для чего оно введено в JS?

200
Как удалять узлы из DOM? .removeChild() или innerHTML?

Как удалять узлы из DOM? .removeChild() или innerHTML?

В статье Ильи Кантора из курса JS упоминается два способа удаления дочернего узла - parentNoderemoveChild(node) или node

230