String.prototype.endsWith()

endsWith()方法用来判断当前字符串是否是以另外一个给定的子字符串“结尾”的,根据判断结果返回 truefalse

Syntax

str.endsWith(searchString[, length])

参数

searchString
要搜索的子字符串。
length
可选。作为 str 的长度。默认值为 str.length

返回值

如果传入的子字符串在搜索字符串的末尾则返回true;否则将返回 false

描述

这个方法帮助你确定一个字符串是否在另一个字符串的末尾。这个方法是大小写敏感的。

示例

使用 endsWith()

var str = "To be, or not to be, that is the question.";

alert( str.endsWith("question.") );  // true
alert( str.endsWith("to be") );      // false
alert( str.endsWith("to be", 19) );  // true

Polyfill

这个方法已经加入到 ECMAScript 6 标准当中,但是可能还没有在所有的  JavaScript 实现中可用。然而,你可以通过如下的代码片段扩展 String.prototype.endsWith() 实现兼容:

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

 

规范

规范 状态 备注
ECMAScript 2015 (6th Edition, ECMA-262)
String.prototype.endsWith
Standard Initial definition.
ECMAScript Latest Draft (ECMA-262)
String.prototype.endsWith
Draft  

浏览器兼容性

Update compatibility data on GitHub
Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js
endsWith Chrome Full support 41 Edge Full support 12 Firefox Full support 17 IE No support No Opera Full support 28 Safari Full support 9 WebView Android Full support Yes Chrome Android Full support 36 Firefox Android Full support 17 Opera Android Full support Yes Safari iOS Full support 9 Samsung Internet Android Full support 3.0 nodejs Full support 4.0.0
Full support 4.0.0
Full support 0.12
Disabled
Disabled From version 0.12: this feature is behind the --harmony runtime flag.

Legend

Full support  
Full support
No support  
No support
User must explicitly enable this feature.
User must explicitly enable this feature.

参见