当前位置:首页 > JavaScript

js实现trim

2026-04-06 08:41:10JavaScript

实现 JavaScript 的 trim 方法

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

使用正则表达式

最简洁的方式是使用正则表达式替换字符串两端的空白字符:

js实现trim

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

^\s+ 匹配字符串开头的空白字符,\s+$ 匹配字符串末尾的空白字符,g 表示全局匹配。

原生方法(ES5+)

现代浏览器和 Node.js 环境已原生支持 String.prototype.trim

js实现trim

const str = '  hello  ';
console.log(str.trim()); // 输出 'hello'

手动实现(非正则)

如果不使用正则表达式,可以通过遍历字符串实现:

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

扩展实现(trimStart/trimEnd)

如果需要单独处理开头或结尾的空白:

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

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

性能考虑

原生 trim() 方法通常性能最优。正则表达式实现适用于需要兼容旧环境的情况,手动遍历适用于对正则限制严格的场景。

标签: jstrim
分享给朋友:

相关文章

vue.js实现轮播

vue.js实现轮播

Vue.js 实现轮播功能 使用第三方库(推荐) Vue.js 生态中有许多成熟的轮播组件库,例如 vue-awesome-swiper 或 swiper,它们功能丰富且易于集成。 安装 swipe…

js实现复制

js实现复制

使用document.execCommand方法 在较旧的浏览器中,可以使用document.execCommand('copy')实现复制功能。创建一个临时的textarea或input元素,将需要…

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js实现论坛

js实现论坛

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

js实现文字滚动

js实现文字滚动

实现文字滚动的几种方法 使用CSS动画实现滚动 通过CSS的@keyframes和transform属性可以实现平滑的文字滚动效果。 <style> .scroll-text { w…

js实现路由

js实现路由

js实现路由的方法 在JavaScript中实现路由功能可以通过多种方式完成,以下是几种常见的方法: 使用原生JavaScript实现路由 通过监听window.onhashchange事件来实现基…