JavaScript String trim()

trim() 方法用來移除字串開頭和結尾的空白字元,回傳一個新字串,不會修改原字串。

語法:

str.trim();

用法:

'  Hello World  '.trim(); // 'Hello World'
'Hello World'.trim(); // 'Hello World'
'   '.trim(); // ''(空字串)
'\n\t Hello \n'.trim(); // 'Hello'

trim() 會移除這些空白字元:

  • 空格
  • Tab (\t)
  • 換行 (\n)
  • 回車 (\r)
  • 其他 Unicode 空白字元

trimStart() / trimEnd()

ES2019 新增了 trimStart()trimEnd(),分別只移除開頭或結尾的空白:

'  Hello World  '.trimStart(); // 'Hello World  '
'  Hello World  '.trimEnd(); // '  Hello World'
trimStart() 和 trimEnd() 也可以用別名 trimLeft() 和 trimRight()。

實際應用:

// 處理使用者輸入
function processInput(input) {
  return input.trim();
}

processInput('  user@example.com  '); // 'user@example.com'

// 表單驗證
function validateEmail(email) {
  email = email.trim();
  if (email === '') {
    return '請輸入 Email';
  }
  if (!email.includes('@')) {
    return 'Email 格式不正確';
  }
  return null; // 驗證通過
}

// 分割並清理字串
const input = '  apple ,  banana  , orange  ';
const fruits = input.split(',').map(function (s) {
  return s.trim();
});
// ['apple', 'banana', 'orange']
trim() 是 ES5 新增的方法。trim() 不會修改原字串,而是回傳一個新字串。