Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите с функцией (https://javascript.ru/forum/misc/53864-pomogite-s-funkciejj.html)

Victor031 21.02.2015 20:44

Помогите с функцией
 
Доброго времени суток! Суть задачи: Напишите функцию checkSpam(str), которая возвращает true, если строка str содержит ‘viagra’ or ‘XXX’.

Функция должна быть нечувствительна к регистру


Вот что у меня получилось:
function checkSpam(str) {
  str = str.toUpperCase();
  if(str.indexOf('viagra')|| str.indexOf('XXX')) return true;
  else return fasle;
  
}

document.write(checkSpam('ff'));


Всегда возвращает true.

В чем у меня ошибка? Заранее спасибо!

caetus 21.02.2015 21:05

var upperText="ПриВет"
document.write(upperText.toUpperCase()) // ПРИВЕТ

viagra = VIAGRA

рони 21.02.2015 21:19

Victor031,
<script>
function checkSpam(str) {
 return /viagra|XXX/i.test(str)
}
document.write([checkSpam('ff'),checkSpam('VIAGRA')]);

    </script>

Victor031 21.02.2015 21:40

Цитата:

Сообщение от caetus (Сообщение 357699)
var upperText="ПриВет"
document.write(upperText.toUpperCase()) // ПРИВЕТ

viagra = VIAGRA

если честно не совсем понял, точнее ничего не понял.объясните поподробнее пожалуйста

Victor031 21.02.2015 21:41

Цитата:

Сообщение от рони (Сообщение 357702)
Victor031,
<script>
function checkSpam(str) {
 return /viagra|XXX/i.test(str)
}
document.write([checkSpam('ff'),checkSpam('VIAGRA')]);

    </script>

Вы могли бы подправить именно мой код?

рони 21.02.2015 22:27

Victor031,

Цитата:

Сообщение от Victor031
str.indexOf('viagra')

большими буквами
Цитата:

Сообщение от Victor031
return fasle;

<script>
function checkSpam(str) {
  str = str.toUpperCase();
  if(str.indexOf('VIAGRA')!= -1 ||  str.indexOf('XXX')!= -1) return true;
  else return false;

}
document.write([checkSpam('ff'),checkSpam('VIaGrA'),checkSpam('xxx')]);
    </script>

Victor031 21.02.2015 23:03

Исправил вот так, но всё равно не правильно работает
function checkSpam(str) {
  str = str.toUpperCase();
  if((str.indexOf('VIAGRA')) || (str.indexOf('XXX'))) return true;
  else return false;
  
}

document.write(checkSpam('ffg'));

рони 21.02.2015 23:26

Цитата:

Сообщение от Victor031
Исправил вот так, но всё равно не правильно работает

:-?
то есть -1 вас неустраивает

Victor031 21.02.2015 23:33

Цитата:

Сообщение от рони (Сообщение 357720)
:-?
то есть -1 вас неустраивает


Даа! точно! ведь возвращается не 0, а -1...теперь понял, спасибо! Переделал код, теперь работает:
function checkSpam(str) {
  str = str.toUpperCase();
  if((str.indexOf('VIAGRA')!=-1) || (str.indexOf('XXX')!=-1)) return true;
  else {return false;}
  
}

document.write(checkSpam('ff'));


Часовой пояс GMT +3, время: 05:47.