bisognerebbe vedere il contenuto della variabile "contenuto" 
guardando la tua RegExp sembra che tu voglia trovare i tag <font> con la proprietà color è trasformarli in tag <span> con il colore nello style.
Così però prende dal primo tag font aperto fino all'utimo chiuso. Devi fermarti al primo.
codice:
contenuto = 'adesso metto il tag font: <font color=#AA0000>primo font rosso</font>, secondo font <font color=#00AA00>verde</font> e basta';
document.write(contenuto+'
');
//questa è la tua
//contenuto = contenuto.replace(/(<font )(color)(=)(#?([A-Fa-f0-9]){3}(([A-Fa-f0-9]){3})?)(> )(.*)(<\/font\> )/gi,"<span style=\"$2:$4;\">$9</span>");
//qua ho aggiunto *? per fermarsi prima del primo </font>
contenuto = contenuto.replace(/(<font )(color)(=)(#?([A-Fa-f0-9]){3}(([A-Fa-f0-9]){3})?)(>)(.*?)(<\/font\>)/gi,"<span style=\"$2:$4;\">$9</span>");
document.write(contenuto+'
');
//fallo scrivere in una textarea per vedere il risultato
document.write('<textarea style="width:100%;height:25px;">'+contenuto+'</textarea>
');
questo però non trova roba come
codice:
<font color="#AA00BB">prova</font>
<font color='#AA00BB'>prova</font>
<font color=yellow>prova</font>
<font face="verdana" color=#AA00BB>prova</font>
<font color=#AA00BB>prima riga
seconda riga</font>
insomma dipende cosa serve a te