js trim实现
实现 JavaScript 字符串 trim 功能
JavaScript 提供了原生的 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);
}
- 初始化
start和end为字符串的首尾索引 - 前向循环跳过开头的空白字符
- 后向循环跳过结尾的空白字符
- 使用
substring截取非空白部分
扩展实现:trimLeft 和 trimRight
单独去除左侧或右侧空白字符:
function trimLeft(str) {
return str.replace(/^\s+/g, '');
}
function trimRight(str) {
return str.replace(/\s+$/g, '');
}
兼容性说明
原生 trim() 方法在 IE9+ 和现代浏览器中支持,若需兼容更早版本,推荐上述手动实现或引入 polyfill。







