用js实现trim函数
实现方法一:使用正则表达式
function trim(str) {
return str.replace(/^\s+|\s+$/g, '');
}
这个实现使用正则表达式匹配字符串开头和结尾的空格,并用空字符串替换它们。^\s+匹配开头的空格,\s+$匹配结尾的空格,g标志表示全局匹配。

实现方法二:使用字符串方法
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方法提取子字符串。
实现方法三:ES2019新增的trimStart和trimEnd
function trim(str) {
return str.trimStart().trimEnd();
}
现代JavaScript环境支持trimStart()和trimEnd()方法,可以分别去除开头和结尾的空格。这种方法最简单,但需要较新的JavaScript环境支持。
注意事项
- 上述方法都会去除标准空格字符(U+0020)
- 如果需要去除所有空白字符(包括制表符、换行符等),正则表达式可以修改为
/^\s+|\s+$/g - 原始字符串不会被修改,所有方法都返回新字符串
- 对于null或undefined输入,需要添加额外的检查逻辑







