有没有一种方法可以在页面中用另一个单词替换
但不区分大小写,这样它就可以替换每个单词,同时保留刚刚替换的单词的原始大小写?我目前正在使用这种区分大小写的方法。
document.body.innerHTML = document.body.innerHTML.replace(/hello/g, 'hi');
最佳答案
在 g 之后加一个 i .../hello/gi 表示贪心,不区分大小写.. 啊错过了保持案例部分......变得有点复杂..
var matches1 = document.getElementById('test').innerHTML.match(/hello/g);
var matches2 = document.getElementById('test').innerHTML.match(/Hello/g);
for(var i=0;i<matches1.length;i++){
document.getElementById('test').innerHTML = document.getElementById('test').innerHTML.replace(matches1[i], 'hi');
}
for(var i=0;i<matches2.length;i++){
document.getElementById('test').innerHTML = document.getElementById('test').innerHTML.replace(matches2[i], 'Hi');
}
还没有测试过,但应该可以..
编辑:/\shello\s/不能与\s 一起使用 这是一个 fiddle .. http://jsfiddle.net/w44u6/
EDIT2:给@Felix Kling 一 block cookies !
document.getElementById('test').innerHTML = document.getElementById('test').innerHTML.replace(/hello/g, 'hi').replace(/Hello/g, 'Hi');
同样有效,而且更短!同一个 fiddle 中的例子!
关于javascript不区分大小写的替换方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24817321/