在 JavaScript 中修剪字符串?

IT技术 javascript string trim
2021-01-25 01:24:13

如何在 JavaScript 中修剪字符串?也就是说,如何在 JavaScript 中删除字符串开头和结尾的所有空格?

6个回答

自 IE9+ 以来的所有浏览器都有trim()处理字符串的方法:

" \n test \n ".trim(); // returns "test" here

对于不支持的浏览器trim(),你可以使用MDN 中的这个 polyfill

if (!String.prototype.trim) {
    (function() {
        // Make sure we trim BOM and NBSP
        var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
        String.prototype.trim = function() {
            return this.replace(rtrim, '');
        };
    })();
}

也就是说,如果使用jQuery,$.trim(str)也可用并处理 undefined/null。


看到这个:

String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g, '');};

String.prototype.ltrim=function(){return this.replace(/^\s+/,'');};

String.prototype.rtrim=function(){return this.replace(/\s+$/,'');};

String.prototype.fulltrim=function(){return this.replace(/(?:(?:^|\n)\s+|\s+(?:$|\n))/g,'').replace(/\s+/g,' ');};
值得注意的是,在 jQuery 中,$.trim(str)始终可用。
2021-04-02 01:24:13

如果您已经在使用该框架,那么来自jQuery的修剪很方便。

$.trim('  your string   ');

我倾向于经常使用 jQuery,所以用它修剪字符串对我来说是很自然的。但是有可能对 jQuery 产生强烈反对吗?:)

jQuery 3.5.0 贬低了他们的修剪方法。
2021-03-21 01:24:13
这只会修剪空格(换行符).. 它不像 php trim 那样工作,您也可以在其中修剪字符
2021-04-07 01:24:13

虽然上面有一堆正确的答案,但应该注意的是String,JavaScript中的对象.trim()ECMAScript 5 开始就有一个本机方法因此,理想情况下,任何对 trim 方法进行原型设计的尝试都应该首先检查它是否已经存在。

if(!String.prototype.trim){  
  String.prototype.trim = function(){  
    return this.replace(/^\s+|\s+$/g,'');  
  };  
}

原生添加到: JavaScript 1.8.1 / ECMAScript 5

因此支持:

火狐:3.5+

Safari:5+

Internet Explorer:IE9+(仅限标准模式!)http://blogs.msdn.com/b/ie/archive/2010/06/25/enhanced-scripting-in-ie9-ecmascript-5-support-and-more .aspx

铬:5+

歌剧:10.5+

ECMAScript 5 支持表:http : //kangax.github.com/es5-compat-table/

很多实现可以使用。最明显的似乎是这样的:

String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, "");
};

" foo bar ".trim();  // "foo bar"

这里的简单版本JavaScript 修剪的一般功能是什么?

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