我有此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;
}
}
}
我的问题/要求是,如何使搜索单词不区分大小写?
最佳答案
使用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