当前位置:首页 > JavaScript

js 实现trim

2026-03-15 01:47:16JavaScript

实现 JavaScript 的 trim 功能

在 JavaScript 中,trim() 方法用于移除字符串两端的空白字符(空格、制表符、换行符等)。以下是几种实现方式:

使用原生方法

现代浏览器和 Node.js 原生支持 String.prototype.trim(),可以直接调用:

const str = '  Hello, World!  ';
const trimmedStr = str.trim();
console.log(trimmedStr); // 输出: "Hello, World!"

自定义实现

如果需要兼容旧环境或实现自定义逻辑,可以通过正则表达式或遍历字符串实现:

js 实现trim

方法 1:正则表达式

function trim(str) {
    return str.replace(/^\s+|\s+$/g, '');
}

const str = '  Hello, World!  ';
console.log(trim(str)); // 输出: "Hello, World!"
  • ^\s+ 匹配字符串开头的空白字符。
  • \s+$ 匹配字符串结尾的空白字符。
  • g 标志表示全局匹配。

方法 2:遍历字符串

js 实现trim

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);
}

const str = '  Hello, World!  ';
console.log(trim(str)); // 输出: "Hello, World!"
  • 通过遍历找到非空白字符的起始和结束位置。
  • 使用 substring 截取有效部分。

扩展功能

如果需要单独移除左侧或右侧空白,可以分别实现:

移除左侧空白(trimLeft)

function trimLeft(str) {
    return str.replace(/^\s+/, '');
}

移除右侧空白(trimRight)

function trimRight(str) {
    return str.replace(/\s+$/, '');
}

性能考虑

原生 trim() 通常性能最优。自定义实现中,正则表达式方法简洁,但可能不如遍历方法高效,尤其是在处理超长字符串时。

标签: jstrim
分享给朋友:

相关文章

vue实现js休眠

vue实现js休眠

Vue 中实现 JavaScript 休眠 在 Vue 中实现 JavaScript 休眠通常需要使用异步方式,以避免阻塞主线程。以下是几种常见方法: 使用 setTimeout 和 Pro…

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

js实现论坛

js实现论坛

实现论坛的基本功能 使用JavaScript实现一个论坛需要结合前端和后端技术。前端可以使用React、Vue或Angular等框架,后端可以选择Node.js配合Express或Koa框架。数据库可…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(f…

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…