首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JavaScript 字串移除空白字元完整指南

     編輯:程式設計綜合問答

核心方法:正則表達式替換

最簡潔有效的方式是使用 `String.prototype.replace` 搭配全域正則:

// 移除所有空白字元(空格、Tab、換行、回車等)
str = str.replace(/\s/g, '');

// 僅移除首尾空白(保留中間空格)
str = str.trim(); // ES5+ 瀏覽器支援

// 移除首尾並合併中間多重空白為單一空格
str = str.trim().replace(/\s+/g, ' ');

應用場景範例

1. 讀取文字檔逐行處理

// 假設已取得某行文字
let line = "  這是一行   含有  多餘空格  的文字  \n";
line = line.replace(/\s/g, ''); // 結果: "這是一行含有多餘空格的文字"

2. 表單輸入即時過濾

input.addEventListener('input', function() {
  // 僅允許可見字元,移除所有控制字元
  this.value = this.value.replace(/[\x00-\x1F\x7F]/g, '');
});

正則字元類別對照

模式匹配內容
`\s`所有空白字元:空格、Tab(`\t`)、換行(`\n`)、回車(`\r`)、分頁(`\f`)
`\s+`連續一個以上空白字元
`^\s+|\s+$`字串首尾空白

效能提示

  • 對超大字串(>1MB)建議使用 `split('').filter(...).join('')` 避免正則回溯
  • 單純移除空格(非所有空白)用 `replace(/ /g, '')` 較快

常見錯誤

忘記加 `g` 旗標(全域匹配),導致僅替換第一個匹配項:

// 錯誤
str.replace(/\s/, ''); // 只移除第一個空白

// 正確
str.replace(/\s/g, ''); // 移除所有空白
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved