当前位置:首页 > JavaScript

js trim实现

2026-03-13 19:30:31JavaScript

实现字符串 trim 的方法

在 JavaScript 中,可以通过多种方式实现字符串的 trim 功能,去除字符串两端的空白字符(包括空格、制表符、换行符等)。

使用原生 String.prototype.trim()

最简单的方法是直接调用字符串的内置 trim() 方法:

js trim实现

const str = "   Hello World!   ";
const trimmedStr = str.trim();
console.log(trimmedStr); // "Hello World!"

使用正则表达式实现自定义 trim

如果需要自定义 trim 行为或在不支持 trim() 的旧环境中实现,可以使用正则表达式:

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

const str = "   Hello World!   ";
const trimmedStr = trim(str);
console.log(trimmedStr); // "Hello World!"

实现 trimStart 和 trimEnd

如果只需要去除字符串开头或结尾的空白:

js trim实现

// 去除开头空白
function trimStart(str) {
  return str.replace(/^\s+/g, '');
}

// 去除结尾空白
function trimEnd(str) {
  return str.replace(/\s+$/g, '');
}

const str = "   Hello World!   ";
console.log(trimStart(str)); // "Hello World!   "
console.log(trimEnd(str));   // "   Hello World!"

兼容旧浏览器的 Polyfill

对于不支持 trim() 的旧浏览器,可以添加以下 polyfill:

if (!String.prototype.trim) {
  String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, '');
  };
}

性能优化版本

对于性能敏感的场景,可以使用更优化的实现:

function fastTrim(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);
}

这些方法提供了不同场景下的字符串 trim 实现,从简单的内置方法到自定义的高级实现,可以根据具体需求选择合适的方式。

标签: jstrim
分享给朋友:

相关文章

js实现倒计时

js实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时功能可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是几种常见的实现方式: 使用 setInterva…

js实现复制

js实现复制

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

js 实现倒计时

js 实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是两种常见实现方式。 使用 setInterval 实…

js类实现

js类实现

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

js实现驼峰

js实现驼峰

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

js实现文字滚动

js实现文字滚动

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