регистронезависимый поиск в JavaScript - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть этот код JavaScript, который, как предполагается, обновляет данную веб-страницу через определенное время и пытается найти определенное слово после каждого обновления.И когда это слово найдено, должен прозвучать какой-то тревожный звук.вот код:

javascript:
  var myRegExp = prompt("the word");
timeout = prompt("the time in seconds");
current = location.href;
setTimeout('reload()', 1000 * timeout);
var audio = new Audio('http://soundbible.com/grab.php?id=2197&type=mp3');

function reload() {
  var found = searchText();
  if (!found) {
    setTimeout('reload()', 1000 * timeout);
    fr4me = '<frameset cols=\'*\'>\n<frame id="frame01" src=\'' + current + '\'/>';
    fr4me += '</frameset>';
    with(document) {
      write(fr4me);
      void(close())
    };
  }
}

function searchText() {
  var f = document.getElementById("frame01");
  if (f != null && f.contentDocument != null) {
    var t = f.contentDocument.body.innerHTML;
    var matchPos = t.search(myRegExp);
    if (matchPos != -1) {
      audio.play();

      return true;
    } else {
      return false;
    }
  }
}

Мой вопрос / вопрос: как сделать поиск слова нечувствительным к регистру?

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Используйте параметр ignoreCase Из MDN

Свойство ignoreCase указывает, используется ли флаг "i" с обычнымвыражение.ignoreCase - свойство только для чтения отдельного экземпляра регулярного выражения.

var regex1 = new RegExp('foo');
var regex2 = new RegExp('foo', 'i');

console.log(regex1.test('Football'));
// expected output: false

console.log(regex2.ignoreCase);
// expected output: true

console.log(regex2.test('Football'));
// expected output: true
0 голосов
/ 26 февраля 2019

var regExp = /the word/i

Подробнее о регулярных выражениях: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...