form e` parola riservata nel DOM, per cui non e` igienico usarla come variabile.

codice:
function CheckAll(form1,rr,nn){
  var tog = form.SelectAll.checked;
  for (var i=0; i<form1.elements.length; i++) {
    var e = form1.elements[i];
    if (e.name != 'SelectAll'){
      e.checked = tog;
      var n = e.id;
      n = n.replace(nn, rr);
      document.getElementById(n).style.backgroundColor = tog ? 'yellow' : 'white';
    }
  }
}
Dovrebbe funzionare anche il replace, ma non sono sicurissimo

Forse occorre inserire all'inizio:
nn = "/"+nn+"/";