Всё, нашёл решение данной проблемы. Если в переменной два слова то используется первая функция, а вторая пропускается:
var text = "Factory new";
 text=text.replace(/ ./, function (m) { return m.toUpperCase(); });
 text=text.replace(/-./, function (m) { return m.toUpperCase(); });
 alert(text);
Если же слова в переменной через тире то выполняется вторая функция а первая просто пропускается
 
var text = "Field-tested";
 text=text.replace(/ ./, function (m) { return m.toUpperCase(); });
 text=text.replace(/-./, function (m) { return m.toUpperCase(); });
 alert(text);
Благодарю за уделенное на решение данной проблемы время