От Кевина Б: http://jsfiddle.net/5Zd3V/9/
$(words).keypress(function(e) {
var maxWords = 4,
wordLimit = words.val().match(/\S+/g),
isNoneWhite = String.fromCharCode(e.which).match(/\s/i),
limitReached = wordLimit ? wordLimit.length >= maxWords && isNoneWhite : false;
words.next('span.error').text(
limitReached ? '*Max word limit ' + maxWords : ''
);
return !limitReached;
});
Подумайте, единственное, чего вам, ребята, не хватало, это убедиться, что набираемый персонаж НЕ создает новое слово (isNonWhite)