JavaScript endsWith功能不起作用
我有一个Web应用程序。 在其中一个页面中,我遍历HTML元素ID,其中一个以指定的字符串结束。 每个JS函数都在页面上工作,但“endsWith”函数不起作用。 我真的不明白这件事。 谁能帮忙?
var str = "To be, or not to be, that is the question.";
alert(str.endsWith("question."));
上述简单的JS代码根本不起作用?
正如在这篇文章中所说http://rickyrosario.com/blog/javascript-startswith-and-endswith-implementation-for-strings/
var str = "To be, or not to be, that is the question.";
function strEndsWith(str, suffix) {
return str.match(suffix+"$")==suffix;
}
alert(strEndsWith(str,"question."));
如果以提供的后缀结尾,这将返回true。
的jsfiddle
编辑
在这里检查之前有一个类似的问题
答案说
var str = "To be, or not to be, that is the question$";
String.prototype.endsWith = function(suffix) {
return this.indexOf(suffix, this.length - suffix.length) !== -1;
};
alert(str.endsWith("$"));
ES5没有endsWith
功能(或者,就此而言, startsWith
)。 你可以推出你自己的版本,就像MDN的这个版本一样:
if (!String.prototype.endsWith) {
Object.defineProperty(String.prototype, 'endsWith', {
enumerable: false,
configurable: false,
writable: false,
value: function (searchString, position) {
position = position || this.length;
position = position - searchString.length;
var lastIndex = this.lastIndexOf(searchString);
return lastIndex !== -1 && lastIndex === position;
}
});
}
我从来没有见过JS中的endsWith
函数。 你可以做一个String.length,然后通过手动引用每个你想检查的字符来检查最后的单词。
更好的办法是做一个正则表达式来查找字符串中的最后一个单词,然后使用它(正则表达式来查找句子中的最后一个单词)。
链接地址: http://www.djcxy.com/p/83903.html上一篇: JavaScript endsWith function not working
下一篇: Confirm the Ending of an String (Varying Ending Length)