当前位置:首页 > JavaScript

js endswith 实现

2026-03-02 08:30:28JavaScript

使用 String.prototype.endsWith()

JavaScript 的 String.prototype.endsWith() 方法可以直接判断字符串是否以指定的子字符串结尾。该方法区分大小写。

语法:

str.endsWith(searchString[, length])
  • searchString:需要匹配的子字符串。
  • length(可选):指定字符串的长度,默认为原始字符串长度。

示例:

const str = 'Hello, world!';
console.log(str.endsWith('world!')); // true
console.log(str.endsWith('World!')); // false(大小写敏感)
console.log(str.endsWith('Hello', 5)); // true(指定长度为 5)

手动实现 endsWith

如果需要在没有原生支持的环境中实现类似功能,可以通过字符串截取或正则表达式实现。

方法 1:字符串截取比较

通过截取字符串末尾与目标字符串长度相同的部分进行比较。

function endsWith(str, searchString, length) {
  if (length === undefined || length > str.length) {
    length = str.length;
  }
  return str.substring(length - searchString.length, length) === searchString;
}

const str = 'Hello, world!';
console.log(endsWith(str, 'world!')); // true
console.log(endsWith(str, 'World!')); // false
console.log(endsWith(str, 'Hello', 5)); // true

方法 2:正则表达式

使用正则表达式匹配字符串末尾是否符合目标字符串。

function endsWith(str, searchString) {
  const regex = new RegExp(searchString + '$');
  return regex.test(str);
}

const str = 'Hello, world!';
console.log(endsWith(str, 'world!')); // true
console.log(endsWith(str, 'World!')); // false

性能比较

  • 原生 endsWith() 性能最佳,推荐优先使用。
  • 字符串截取方法在简单场景下性能较好。
  • 正则表达式方法灵活性高,但性能略低。

兼容性处理

如果需要兼容旧版本 JavaScript 环境,可以通过以下方式实现:

js endswith 实现

if (!String.prototype.endsWith) {
  String.prototype.endsWith = function(searchString, length) {
    if (length === undefined || length > this.length) {
      length = this.length;
    }
    return this.substring(length - searchString.length, length) === searchString;
  };
}

标签: jsendswith
分享给朋友:

相关文章

js防抖和节流实现

js防抖和节流实现

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

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm安…

js实现dh

js实现dh

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

使用js实现

使用js实现

使用JavaScript实现 JavaScript可以通过Math.random()函数生成随机数,结合其他方法可以实现多种随机数生成需求。 // 生成0到1之间的随机小数 const random…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…