js endswith()用法
在JavaScript中,我们经常需要判断一个字符串是否以特定的子字符串结尾。为了实现这个功能,JavaScript提供了endsWith()
方法。本文将详细介绍endsWith()
方法的用法及示例。
语法
endsWith()
方法用于判断一个字符串是否以指定的子字符串结尾,并返回一个布尔值。其语法如下:
str.endsWith(searchString[, length])
searchString
:必需,表示要搜索的子字符串。length
:可选,表示要在字符串中搜索的字符数。如果未指定此参数,则默认为字符串的长度。
返回值
endsWith()
方法返回一个布尔值,表示原始字符串是否以指定的子字符串结尾。如果是,则返回true
;否则返回false
。
示例
下面我们通过几个示例来演示endsWith()
方法的用法:
示例1:判断字符串结尾为”.com”
let str1 = "www.example.com";
console.log(str1.endsWith(".com")); // true
let str2 = "www.example.org";
console.log(str2.endsWith(".com")); // false
在上面的示例中,我们分别判断了字符串str1
和str2
是否以”.com”结尾,结果分别为true
和false
。
示例2:指定长度进行判断
在某些情况下,我们可能只想在字符串的前几个字符中搜索子字符串。这时可以通过第二个参数length
来指定搜索的字符数。
let str = "Hello, world!";
console.log(str.endsWith("world", 12)); // true
在上面的示例中,我们限定搜索的字符数为12(从0开始计数),即只在”Hello, world!”中的”Hello, worl”部分搜索”world”子字符串,结果为true
。
兼容性
endsWith()
方法是在ECMAScript 6中引入的新方法,因此在一些较低版本的浏览器中可能不被支持。为了解决兼容性问题,我们可以使用以下方式进行替代:
if (!String.prototype.endsWith) {
String.prototype.endsWith = function(searchString, length) {
let str = this.toString();
if (length === undefined || length > str.length) {
length = str.length;
}
return str.slice(length - searchString.length, length) === searchString;
};
}
通过上述方式,我们可以在不支持endsWith()
方法的环境中进行兼容处理。
结语
通过本文的介绍,相信您已经了解了endsWith()
方法的用法及示例。在实际开发中,对字符串结尾进行判断是一项常见的需求,endsWith()
方法为我们提供了一种简洁而方便的解决方案。