string.prototype.trim()用于去除字符串首尾空白字符但不处理中间及全角空格;trimstart/trimend分别去首或尾;需注意null/undefined安全及ie8兼容性,全删空格应使用replace。

String.prototype.trim() 是 JavaScript 中最常用、最直接的去除字符串首尾空格的方法,它会移除字符串开头和结尾的所有空白字符(包括空格、制表符 \t、换行符 \n、回车符 \r、垂直制表符 \v、换页符 \f 等),但**不会影响字符串中间的空格**。
基础用法:去掉首尾空格
调用方式很简单,直接在字符串上调用 .trim() 方法:
-
" hello world ".trim()→"hello world" -
"\t\n abc\r\n".trim()→"abc" -
" 中文全角空格 ".trim()→" 中文全角空格 "(注意:trim()不处理全角空格,需额外处理)
只去左边或右边?用 trimStart / trimEnd
如果只想清理开头或结尾,可用更精确的方法:
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
-
" hello ".trimStart()→"hello " -
" hello ".trimEnd()→" hello" - 它们分别兼容
trimLeft和trimRight(后者是别名,不推荐新代码中使用)
注意兼容性与空值安全
trim() 是 ES5 标准方法,现代浏览器和 Node.js(≥0.12)都支持。但若需支持 IE8 及更早版本,需手动补丁或用正则替代:
- 安全调用建议加类型判断:
typeof str === 'string' ? str.trim() : String(str).trim() - 避免
null或undefined直接调用报错:(str || '').trim() - 正则替代(兼容旧环境):
str.replace(/^\s+|\s+$/g, '')(\s包含所有空白符,效果基本等价)
想删掉所有空格?别误用 trim
trim() 只动首尾,**不会删除中间空格**。如需完全清除空格(包括中间),应使用 replace:
- 全删普通空格:
"a b c".replace(/\s/g, '')→"abc" - 只删空格(不含换行/制表):
"a b c".replace(/ /g, '')→"abc" - 注意:这已不属于“清理首尾”的范畴,属于内容替换,需按实际需求选择
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










