javascript不区分大小写的替换方法?

标签 javascript case-insensitive replaceall

有没有一种方法可以在页面中用另一个单词替换但不区分大小写,这样它就可以替换每个单词,同时保留刚刚替换的单词的原始大小写?我目前正在使用这种区分大小写的方法。

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/

相关文章:

javascript - HTML 中的随机视频生成器

android - 如何将 SQLite 中的值转换为小写?

python - lxml 是否可以以不区分大小写的方式工作?

java - 关于Java字符串操作

javascript - 在 JavaScript 函数中定义全局变量

javascript_include_tag 和 stylesheet_link_tag

c# - 不区分大小写的查询表达式

Javascript 替换所有包含 '[]' 的字符串不起作用

java - 获取“当尝试替换字符串中的字符时

javascript - ES6 使用 for..of 反向迭代数组,我是否遗漏了规范中的内容?