JavaScript去除字符串空格的三种常用方法

作者:木棉时间:2026-10-31 06:51:37浏览:131

本文介绍了JavaScript中去除字符串空格的三种主要方式。第一种是利用正则表达式replace进行灵活匹配,可清除全部、首部或尾部空格;第二种是原生字符串的trim()及其变体,仅处理两端空格;第三种为jQuery库提供的$.trim()函数。文章通过具体代码示例对比了各方法的适用场景与局限性,帮助开发者根据需求选择最优方案。

在JavaScript开发中,处理字符串时经常需要清理其中的空白字符。以下是实现这一目标的三种常见技术手段。

第一种方案:基于正则表达式的替换

若要清除字符串中所有的空白字符,可以使用全局匹配的正则:str = str.replace(/\s*/g,“”);

若仅需去除字符串首尾的空白字符,可使用锚点定位:str = str.replace(/^\s*|\s*$/g,“”);

若仅需去除字符串左侧(开头)的空白字符,可使用:str = str.replace(/^\s*/,“”);

若仅需去除字符串右侧(结尾)的空白字符,可使用:str = str.replace(/(\s*$)/g,“”);

具体代码实现如下所示:

var str = " 6 6 ";
var str_1 = str.replace(/\s*/g,"");
console.log(str_1); //66
var str = " 6 6 ";
var str_1 = str.replace(/^\s*|\s*$/g,"");
console.log(str_1); //6 6//输出左右侧均无空格
var str = " 6 6 ";
var str_1 = str.replace(/^\s*/,"");
console.log(str_1); //6 6 //输出右侧有空格左侧无空格
var str = " 6 6 ";
var str_1 = str.replace(/(\s*$)/g,"");
console.log(str_1); // 6 6//输出左侧有空格右侧无空格

第二种方案:使用原生trim()方法

trim()方法用于移除字符串两端的空白字符并返回新字符串。该方法不会修改原始字符串,而是生成一个去除了首尾空格的新副本。此外,若需单独处理左侧空格,可调用trimLeft()方法;若需单独处理右侧空格,可调用trimRight()方法。

该方法的局限性在于它只能处理字符串两端的空格,无法清除字符串中间存在的空白字符。

具体代码实现如下所示:

var str = " 6 6 ";
var str_1 = str.trim();
console.log(str_1); //6 6//输出左右侧均无空格
单独去除左侧空格则使用 str.trimLeft(); //var str_1 = str.trimLeft();
单独去除右侧空格则使用 str.trimRight();//var str_1 = str.trimRight();

第三种方案:使用jQuery的$.trim()方法

jQuery库提供的$.trim()函数专门用于移除字符串两端的空白字符。

需要注意的是,$.trim()函数会移除字符串开始和结束位置的所有换行符、空格(包括连续空格)以及制表符。如果空白字符位于字符串中间,它们将被保留,不会被移除。

具体代码实现如下所示:

var str = " 6 6 ";
var str_1 = $.trim(str);
console.log(str_1); //6 6//输出左右侧均无空格

方案一:最常用方式,彻底清除所有空格

var str = '  abc d e f  g ';
        function trim(str) {
            var reg = /[\t\r\f\n\s]*/g;
            if (typeof str === 'string') {
                var trimStr = str.replace(reg,'');
            }
            console.log(trimStr)
        }
        trim(str)

方案二:强烈推荐方式,彻底清除所有空格

function trimAll(ele){
    if(typeof ele === 'string'){
       return ele.split(/[\t\r\f\n\s]*/g).join('');
    }else{
        console.error(`${typeof ele} is not the expected type, but the string type is expected`)
    }
}
trimAll(str)  // 1234456

方案三:指定位置清除空格(通过第二个参数控制清除方向)

function deleSpac(str,direction) { // 1 串的模板 2 清除哪边空格
            if(typeof str !== 'string'){ // 限制下条件,必须是字符串
                 console.error(`${typeof ele} is not the expected type, but the string type is expected`)
                return false
            }
            let Reg = '';
            switch(direction) {
                case 'left' : // 去除左边
                    Reg = /^[\t\r\f\n\s]+/g;
                    break;
                case 'right' : // 去除右边
                    Reg = /([\t\r\f\n\s]+)$/g;
                    break;
                case 'both' : // 去除两边
                    Reg = /(^[\t\r\f\n\s]*)|([\t\r\f\n\s]*$)/g
                    break;
                default :   // 没传默认全部,且为下去除中间空格做铺垫
                    Reg = /[\t\r\f\n\s]*/g;
                    break;
            }
            let newStr = str.replace(Reg,'');
            if ( direction == 'middle' ){
                let RegLeft = str.match(/(^[\t\r\f\n\s]*)/g)[0]; // 保存右边空格
                let RegRight = str.match(/([\t\r\f\n\s]*$)/g)[0]; // 保存左边空格
                newStr = RegLeft + newStr + RegRight; // 将空格加给清完全部空格后的字符串
            }
            return newStr;
        }

总结

至此,关于使用JavaScript去除字符串内空格的三种方法介绍完毕。如需了解更多相关内容,建议查阅本站历史文章或继续阅读后续教程。感谢大家的支持!

作者最新文章