Вместо разбиения по пробелам вы также можете попробовать соответствие последовательностей непробельных символов.
var words = document.getElementById('foo').value.match(/\S+/g);
Проблемы, связанные с методом разделения, заключаются в том, что при наличии начальных или конечных пробелов для них вы получите пустой элемент. Например, " hello world "
даст вам ["", "hello", "world", ""]
.
Вы можете удалить пробелы до и после текста, но есть еще одна проблема: когда строка пуста. Например, разделение ""
даст вам [""]
.
Вместо того, чтобы найти то, что мы не хотим, и разделить это, я думаю, что лучше искать то, что мы хотим.