实现trim js
实现 JavaScript 的 trim 功能
在 JavaScript 中,trim() 方法用于移除字符串两端的空白字符(包括空格、制表符、换行符等)。以下是几种实现方式:
使用原生 trim() 方法
现代浏览器和 Node.js 原生支持 trim() 方法:

const str = " Hello, World! ";
const trimmedStr = str.trim();
console.log(trimmedStr); // 输出: "Hello, World!"
自定义实现
如果需要在没有原生 trim() 支持的环境(如旧版浏览器)中实现该功能,可以通过正则表达式或遍历字符串实现:
function trim(str) {
return str.replace(/^\s+|\s+$/g, '');
}
const str = " Hello, World! ";
console.log(trim(str)); // 输出: "Hello, World!"
扩展 String 原型
如果需要为所有字符串添加 trim 方法,可以扩展 String 的原型:

String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, '');
};
const str = " Hello, World! ";
console.log(str.trim()); // 输出: "Hello, World!"
支持 Unicode 空白字符
如果需要处理 Unicode 空白字符(如全角空格),可以使用更复杂的正则表达式:
function trim(str) {
return str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
}
const str = " Hello, World! "; // 包含全角空格
console.log(trim(str)); // 输出: "Hello, World!"
性能优化
对于大量字符串处理,可以缓存正则表达式以提高性能:
const trimRegex = /^\s+|\s+$/g;
function trim(str) {
return str.replace(trimRegex, '');
}
以上方法可以根据具体需求选择使用。原生 trim() 方法是最简单且性能最好的选择,但在特殊情况下(如兼容性要求或自定义需求),自定义实现是可行的替代方案。






