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)