当前位置:首页 > JavaScript

js trim实现

2026-01-31 21:28:55JavaScript

实现 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);
}
  • 初始化 startend 为字符串的首尾索引
  • 前向循环跳过开头的空白字符
  • 后向循环跳过结尾的空白字符
  • 使用 substring 截取非空白部分

扩展实现:trimLeft 和 trimRight

单独去除左侧或右侧空白字符:

js trim实现

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

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

兼容性说明

原生 trim() 方法在 IE9+ 和现代浏览器中支持,若需兼容更早版本,推荐上述手动实现或引入 polyfill。

标签: jstrim
分享给朋友:

相关文章

js实现复制

js实现复制

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

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…

js实现图片放大缩小

js实现图片放大缩小

实现图片放大缩小的基础方法 使用CSS的transform: scale()属性可以快速实现图片的放大缩小效果。通过JavaScript动态修改该属性值: const img = document.…

js防抖和节流实现

js防抖和节流实现

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

js实现自举

js实现自举

实现 JavaScript 自举的方法 JavaScript 自举(Bootstrap)通常指通过 JavaScript 动态加载自身或依赖的脚本,实现运行时环境的初始化或扩展。以下是几种常见实现方式…

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…