在 JavaScript 中修剪字符串

新手上路,请多包涵

如何从字符串的开头和结尾删除所有空格?

原文由 Vinod 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 615
2 个回答

自 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,' ');};

原文由 Pradeep Kumar Mishra 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果您已经在使用该框架,则 jQuery 的 trim 会很方便。

 $.trim('  your string   ');

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

原文由 barneytron 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题