当前位置:首页 > JavaScript

用js实现trim函数

2026-03-01 09:56:46JavaScript

实现方法一:使用正则表达式

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

这种方法通过循环找到第一个和最后一个非空格字符的位置,然后使用substring方法提取子字符串。

实现方法三:ES2019新增的trimStart和trimEnd

function trim(str) {
  return str.trimStart().trimEnd();
}

现代JavaScript环境支持trimStart()trimEnd()方法,可以分别去除开头和结尾的空格。这种方法最简单,但需要较新的JavaScript环境支持。

用js实现trim函数

注意事项

  • 上述方法都会去除标准空格字符(U+0020)
  • 如果需要去除所有空白字符(包括制表符、换行符等),正则表达式可以修改为/^\s+|\s+$/g
  • 原始字符串不会被修改,所有方法都返回新字符串
  • 对于null或undefined输入,需要添加额外的检查逻辑

标签: 函数js
分享给朋友:

相关文章

js实现图片轮播

js实现图片轮播

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

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

js实现授权

js实现授权

授权流程设计 授权流程通常涉及前端与后端的交互,常见方案包括OAuth2.0、JWT等。以JWT为例的典型流程: 用户提交凭证(如用户名密码)到认证服务 服务端验证通过后生成包含用户信息的J…

js实现视口

js实现视口

js实现视口检测的方法 使用JavaScript检测元素是否进入视口(viewport)可以通过Intersection Observer API或手动计算元素位置实现。以下是两种常见方法: Int…