JSFiddle - React, Tailwind, and code Playground
HTML
<div id="result"></div>
JavaScript
// http://stackoverflow.com/questions/29782632/case-insenstive-string-replace-all-in-javascript-without-a-regex
var result = "result<br><br>";
function replacein(s, q, r) {
var result = '';
for (var i = 0; i < s.length; i++) {
var j = 0;
for (; j < q.length; j++) {
if (s[i + j].toLowerCase() != q[j].toLowerCase()) break;
}
if (j == q.length) {
i += q.length - 1;
result += r;
} else {
result += s[i];
}
}
return result;
}
result += replacein("Find aBc&def abc", "abc", "xy") + "<br>";
result += replacein("Find aBc&def abc", "abc", "ABC") + "<br>";
result += replacein("Find aBc&def abcc", "abc", "ab") + "<br>";
result += replacein("Find aBcc&def abc", "abc", "ab") + "<br>";
result += replacein("abc def", "abc", "xy") + "<br>";
result += replacein("abcc def", "abc", "xy") + "<br>";
result += "<br>";
function insensitiveReplaceAll(original, find, replace) {
var str = "",
remainder = original,
lowFind = find.toLowerCase(),
idx;
while ((idx = remainder.toLowerCase().indexOf(lowFind)) !== -1) {
str += remainder.substr(0, idx) + replace;
remainder = remainder.substr(idx + find.length);
}
return str + remainder;
}
result += insensitiveReplaceAll("Find aBc&def abc", "abc", "xy") + "<br>";
result += insensitiveReplaceAll("Find aBc&def abc", "abc", "ABC") + "<br>";
result += insensitiveReplaceAll("Find aBc&def abcc", "abc", "ab") + "<br>";
result += insensitiveReplaceAll("Find aBcc&def abc", "abc", "ab") + "<br>";
result += insensitiveReplaceAll("abc def", "abc", "xy") + "<br>";
result += insensitiveReplaceAll("abcc def", "abc", "xy") + "<br>";
result += "<br>";
$('#result').html(result)