当前位置:首页 > JavaScript

用js实现trim函数

2026-01-30 18:56:10JavaScript

使用正则表达式实现

通过正则表达式去除字符串首尾的空白字符(包括空格、制表符、换行符等):

用js实现trim函数

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

使用原生字符串方法实现

现代JavaScript引擎已原生支持String.prototype.trim(),但若需手动实现兼容方案:

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

处理Unicode空白字符

扩展版本可处理全角空格等Unicode空白字符:

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

性能优化版本

避免多次创建正则表达式对象:

const trimRegExp = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
function trim(str) {
  return str.replace(trimRegExp, '');
}

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

相关文章

js实现全屏

js实现全屏

实现全屏的基本方法 使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

js如何实现继承

js如何实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例能够访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现交换

js实现交换

交换变量的方法 在JavaScript中,交换两个变量的值有多种方法。以下是常见的几种实现方式: 使用临时变量 通过引入一个临时变量来存储其中一个变量的值,实现交换: let a = 1; le…

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…

js验证码的实现

js验证码的实现

验证码的基本实现原理 验证码(CAPTCHA)的核心目标是区分人类用户和自动化程序。JavaScript可用于生成或验证客户端验证码,但需注意纯前端验证可能被绕过,通常需结合后端验证。 纯前端验证码…

js 实现跳转

js 实现跳转

使用 window.location.href 进行跳转 通过修改 window.location.href 可以跳转到指定 URL,浏览器会加载新页面: window.location.hre…