当前位置:首页 > 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
分享给朋友:

相关文章

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。…

js实现投球

js实现投球

实现投球动画的基本思路 使用JavaScript和CSS动画结合的方式模拟投球效果。核心是通过改变元素的位置、旋转和缩放属性,配合定时器或CSS过渡实现平滑动画。 创建基础HTML结构 <…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…

js实现图片

js实现图片

图片加载与显示 在JavaScript中,可以通过Image对象动态加载图片。创建实例后设置src属性触发加载,通过onload回调处理加载完成后的操作: const img = new Ima…

js实现搜索

js实现搜索

实现搜索功能的方法 在JavaScript中实现搜索功能可以通过多种方式完成,以下是几种常见的实现方法。 使用数组的filter方法 通过数组的filter方法可以筛选出符合条件的数据项。假设有一个…