实现trim js
实现 JavaScript 的 trim 功能
在 JavaScript 中,trim() 方法用于移除字符串两端的空白字符。如果需要自定义实现或兼容旧版本浏览器,可以采用以下方法:
使用正则表达式
function trim(str) {
return str.replace(/^\s+|\s+$/g, '');
}
这个正则表达式匹配字符串开头(^)的一个或多个空白字符(\s+),或者(|)字符串结尾($)的一个或多个空白字符,并用空字符串替换它们。

使用循环遍历
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);
}
这种方法通过循环找到第一个和最后一个非空格字符的位置,然后使用 substring 提取子字符串。
兼容旧浏览器的 polyfill
if (!String.prototype.trim) {
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, '');
};
}
这段代码为不支持 trim() 方法的旧浏览器添加了 polyfill,使其能够像现代浏览器一样使用 trim()。

移除特定字符
如果需要移除除空格外的其他字符,可以修改正则表达式:
function trimChars(str, chars) {
return str.replace(new RegExp(`^[${chars}]+|[${chars}]+$`, 'g'), '');
}
调用方式:trimChars('xxHello Worldxx', 'x') 会返回 'Hello World'。
性能考虑
正则表达式方法通常性能较好,但在极端长的字符串上,循环方法可能更高效。实际应用中,现代 JavaScript 引擎的原生 trim() 方法是最优选择。






