JavaScript 去除字符串空格的三种方法:前后、全部及 Polyfill 实现

作者:拾光时间:2026-10-22 01:40:56浏览:415

本文介绍 JavaScript 中去除字符串空格的常用方法。包括使用正则表达式去除首尾空格、全局去除所有空格,以及 jQuery 的 $.trim() 方法。针对不支持原生 trim 的旧浏览器,提供了完整的 Polyfill 实现代码,涵盖左右清除及换行符处理,确保跨浏览器兼容性。

去除字符串首尾空格的方法

1、 去除字符串首尾的所有空格:

实现代码如下:


   function Trim(str)
   { 
    return str.replace(/(^\s*)|(\s*$)/g, ""); 
  }

代码说明:

若项目已引入 jQuery,可直接调用 $.trim(str) 方法,其中 str 为需要去除首尾空格的字符串变量。

去除字符串内部所有空格

2、 去除字符串内部所有空格(含中间空格,需将第二个参数设置为 'g')

实现代码如下:


  function Trim(str,is_global)
  {
   var result;
   result = str.replace(/(^\s+)|(\s+$)/g,"");
   if(is_global.toLowerCase()=="g")
   {
    result = result.replace(/\s/g,"");
    }
   return result;
}

浏览器兼容性 Polyfill 实现

当前主流浏览器大多已原生支持字符串的 trim 函数。为确保在不支持该特性的旧版浏览器中正常运行,建议在 JavaScript 文件中添加以下兼容代码(若无需清除换行符,请删除 \n;若无需清除制表符,请删除 \t):


if (!String.prototype.trim) {

 /*---------------------------------------
  * 清除字符串两端空格,包含换行符、制表符
  *---------------------------------------*/
 String.prototype.trim = function () { 
  return this.triml().trimr(); 
 }

 /*----------------------------------------
  * 清除字符串左侧空格,包含换行符、制表符
  * ---------------------------------------*/
 String.prototype.triml = function () {
  return this.replace(/^[\s\n\t]+/g, "");
 }

 /*----------------------------------------
  * 清除字符串右侧空格,包含换行符、制表符
  *----------------------------------------*/
 String.prototype.trimr = function () {
  return this.replace(/[\s\n\t]+$/g, "");
 }
}

如果仅需实现基本的 trim 功能,可使用以下简化版本:


if (!String.prototype.trim){

 /*---------------------------------------
  * 清除字符串两端空格,包含换行符、制表符
  *---------------------------------------*/
 String.prototype.trim = function () { 
  return this.replace(/(^[\s\n\t]+|[\s\n\t]+$)/g, "");
 }
 
}

代码使用示例:


var str = " abcd ".trim();

作者最新文章