зависит от того, что словом считать
var str = 'Не путайте Яндекс.Деньги с Гоголь-Моголем';
str = str.replace(/[^-.\s]{5}([^-.\s]+)/g, function(word) {
return word.slice(0, 5) + new Array(word.length - 4).join('*');
})
alert(str);
var str = 'Не путайте Яндекс.Деньги с Гоголь-Моголем';
str = str.replace(/([^-.\s]{5})([^-.\s]+)/g, function(word, found1, found2) {
return found1 + new Array(found2.length + 1).join('*');
})
alert(str);