Предлагаемое регулярное выражение может быть сокращено с помощью встроенных классов символов. Во-вторых, нормализация должна быть отделена от теста на равенство. Вот что-то, что может не пройти проверку кода, где я работаю, но оно настолько короткое, что я решил написать.
String.prototype.normalized = function() {
return this.replace(/[^\w\d,;]/g,"");
};
var s1='Times New Roman, Times, Sans-Serif';
var s2='Times New Roman,Times,SansSerif';
if(s1.normalized() == s2.normalized()) document.write("equality!");