Я думаю, вам следует пересмотреть свой дизайн - немного запутанно иметь метод trim
, который возвращает false
для некоторых значений аргумента и строку для других. Как насчет удаления любых пробельных символов, которые «не разрешены»? Тогда ваш метод может быть переписан как:
function trim(myString) {
return myString.replace(/^\s+/,'').replace(/\s+$/,'').replace(/\s{3,}/,' ');
}
Сначала удаляются начальные и конечные пробелы, затем все последовательности из 3 или более пробельных символов заменяются на 3 пробела. Например:
var str = ' a b c d e ';
trim(str); // Returns 'a b c d e'
Примечание: в современных браузерах , функция может быть еще более упрощена:
function trim(myString) {
return myString.trim().replace(/\s{3,}/,' ');
}