最常用的是trim()去除首尾空格;trimStart()(或trimLeft())仅去开头空格;trimEnd()(或trimRight())仅去结尾空格;三者均不修改原字符串且兼容现代浏览器但不支持IE。

JavaScript 中去除字符串首尾空格,最常用的是 trim();若只需去掉开头(左侧)空格,则用 trimStart()(也可写作 trimLeft(),二者等价)。
trim():清除首尾所有空白字符
它会移除字符串开头和结尾的空白字符(包括空格、制表符 \t、换行符 \n、回车符 \r、Unicode 空格等),但保留中间的空格不变。
-
示例:
" hello world ".trim()→"hello world" - 注意:原字符串不会被修改(字符串在 JS 中是不可变的),返回的是新字符串。
-
兼容性:现代浏览器均支持,IE 不支持(如需兼容 IE,可用正则替代:
str.replace(/^\s+|\s+$/g, ''))。
trimStart():只清除开头空白字符
仅作用于字符串左侧,右侧空格完全保留。适合处理缩进、前缀清理等场景。
-
示例:
" \t\nhello world ".trimStart()→"hello world " -
别名:
trimLeft()是它的标准别名,行为完全一致,可互换使用。 -
兼容性:同
trim(),不支持 IE;若需兼容,可用正则:str.replace(/^\s+/, '')。
还有 trimEnd():对应右侧清理
与 trimStart() 对称,只清除字符串末尾空白,开头保留。别名为 trimRight()。
立即学习“Java免费学习笔记(深入)”;
-
示例:
" hello world \n\t".trimEnd()→" hello world" -
组合使用:有时需要分步处理,比如先去左再验证右是否含特定符号,这时比直接
trim()更灵活。
小技巧:不只是“空格”,还处理各种空白符
这些方法识别的“空白”远不止英文空格,涵盖 Unicode 标准中的多种空白字符,例如:
- 全角空格(
,U+3000)——trim()不处理,需额外判断或正则补充 - 不间断空格(
,U+00A0)、零宽空格(U+200B)等——trim()默认不处理,属于例外 - 如需清理更广义的“空白”,建议结合正则:
str.replace(/^[^\S\r\n]+|[^\S\r\n]+$/g, '')(排除换行符的纯空白)










