Всё, нашёл решение данной проблемы. Если в переменной два слова то используется первая функция, а вторая пропускается:
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);
Благодарю за уделенное на решение данной проблемы время