js 实现trim
实现 JavaScript 的 trim 功能
在 JavaScript 中,trim() 方法用于移除字符串两端的空白字符(空格、制表符、换行符等)。以下是几种实现方式:
使用原生方法
现代浏览器和 Node.js 原生支持 String.prototype.trim(),可以直接调用:
const str = ' Hello, World! ';
const trimmedStr = str.trim();
console.log(trimmedStr); // 输出: "Hello, World!"
自定义实现
如果需要兼容旧环境或实现自定义逻辑,可以通过正则表达式或遍历字符串实现:

方法 1:正则表达式
function trim(str) {
return str.replace(/^\s+|\s+$/g, '');
}
const str = ' Hello, World! ';
console.log(trim(str)); // 输出: "Hello, World!"
^\s+匹配字符串开头的空白字符。\s+$匹配字符串结尾的空白字符。g标志表示全局匹配。
方法 2:遍历字符串

function trim(str) {
let start = 0;
let end = str.length - 1;
while (start <= end && str[start] === ' ') start++;
while (end >= start && str[end] === ' ') end--;
return str.substring(start, end + 1);
}
const str = ' Hello, World! ';
console.log(trim(str)); // 输出: "Hello, World!"
- 通过遍历找到非空白字符的起始和结束位置。
- 使用
substring截取有效部分。
扩展功能
如果需要单独移除左侧或右侧空白,可以分别实现:
移除左侧空白(trimLeft)
function trimLeft(str) {
return str.replace(/^\s+/, '');
}
移除右侧空白(trimRight)
function trimRight(str) {
return str.replace(/\s+$/, '');
}
性能考虑
原生 trim() 通常性能最优。自定义实现中,正则表达式方法简洁,但可能不如遍历方法高效,尤其是在处理超长字符串时。






