js trim实现
实现字符串 trim 的方法
在 JavaScript 中,可以通过多种方式实现字符串的 trim 功能,去除字符串两端的空白字符(包括空格、制表符、换行符等)。
使用原生 String.prototype.trim()
最简单的方法是直接调用字符串的内置 trim() 方法:
const str = " Hello World! ";
const trimmedStr = str.trim();
console.log(trimmedStr); // "Hello World!"
使用正则表达式实现自定义 trim
如果需要自定义 trim 行为或在不支持 trim() 的旧环境中实现,可以使用正则表达式:
function trim(str) {
return str.replace(/^\s+|\s+$/g, '');
}
const str = " Hello World! ";
const trimmedStr = trim(str);
console.log(trimmedStr); // "Hello World!"
实现 trimStart 和 trimEnd
如果只需要去除字符串开头或结尾的空白:
// 去除开头空白
function trimStart(str) {
return str.replace(/^\s+/g, '');
}
// 去除结尾空白
function trimEnd(str) {
return str.replace(/\s+$/g, '');
}
const str = " Hello World! ";
console.log(trimStart(str)); // "Hello World! "
console.log(trimEnd(str)); // " Hello World!"
兼容旧浏览器的 Polyfill
对于不支持 trim() 的旧浏览器,可以添加以下 polyfill:
if (!String.prototype.trim) {
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, '');
};
}
性能优化版本
对于性能敏感的场景,可以使用更优化的实现:

function fastTrim(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);
}
这些方法提供了不同场景下的字符串 trim 实现,从简单的内置方法到自定义的高级实现,可以根据具体需求选择合适的方式。






