js trim 实现


实现 JavaScript 的字符串 trim 方法
JavaScript 的原生 trim() 方法用于移除字符串两端的空白字符(包括空格、制表符、换行符等)。以下是几种实现方式:
使用原生方法(最简单)
const str = " Hello World! ";
const trimmedStr = str.trim();
console.log(trimmedStr); // "Hello World!"
自定义实现(正则表达式)
function customTrim(str) {
return str.replace(/^\s+|\s+$/g, '');
}
const str = " Hello World! ";
console.log(customTrim(str)); // "Hello World!"
自定义实现(非正则)
function customTrim(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(customTrim(str)); // "Hello World!"
扩展实现(trimStart 和 trimEnd)
// trimStart 实现
function trimStart(str) {
return str.replace(/^\s+/g, '');
}
// trimEnd 实现
function trimEnd(str) {
return str.replace(/\s+$/g, '');
}
const str = " Hello World! ";
console.log(trimStart(str)); // "Hello World! "
console.log(trimEnd(str)); // " Hello World!"
注意事项
- 原生
trim()方法在 IE9 及以上版本支持,如需兼容旧版浏览器需使用自定义实现。 - 正则表达式实现简洁但性能略低于非正则实现,适用于大多数场景。
- 自定义非正则实现适合对性能要求较高的场景。






