JavaScript endWith()
我很难让下面的程序正常工作JavaScript endWith(),javascript,Javascript,我很难让下面的程序正常工作 if(str.endsWith('+') { alert("ends in plus sign") } 我如何避开加号?我已经尝试过/\+/,但它不起作用。JavaScript中没有endsWith方法,因此请改用: if (str.substr(-1) === "+") { alert("ends in plus sign") } JavaScript中没有endsWith方法,因此请改用: if (str.substr(-1) === "+") {
if(str.endsWith('+')
{
alert("ends in plus sign")
}
我如何避开加号?我已经尝试过/\+/,但它不起作用。JavaScript中没有
endsWith
方法,因此请改用:
if (str.substr(-1) === "+") {
alert("ends in plus sign")
}
JavaScript中没有
endsWith
方法,因此请改用:
if (str.substr(-1) === "+") {
alert("ends in plus sign")
}
使用RegExp:
a = "csadda+"
if (a.match(/.*\+$/)) {
alert("Ends");
}
使用RegExp:
a = "csadda+"
if (a.match(/.*\+$/)) {
alert("Ends");
}
Javascript字符串类型没有带函数的
endsWith,但是如果您愿意,可以提供一个:
if (!String.prototype.endsWith) {
(function() {
String.prototype.endsWith = String_endsWith;
function String_endsWith(sub) {
return this.length >= sub.length && this.substring(this.length - sub.length) == sub;
}
})();
}
或者,如果您不介意未命名的函数:
if (!String.prototype.endsWith) {
String.prototype.endsWith = function(sub) {
return this.length >= sub.length && this.substring(this.length - sub.length) == sub;
};
}
无论哪种方式,您都可以执行以下操作:
if ("foo".endsWith("oo")) {
// ...
}
Javascript字符串类型没有带
函数的endsWith,但是如果您愿意,可以提供一个:
if (!String.prototype.endsWith) {
(function() {
String.prototype.endsWith = String_endsWith;
function String_endsWith(sub) {
return this.length >= sub.length && this.substring(this.length - sub.length) == sub;
}
})();
}
或者,如果您不介意未命名的函数:
if (!String.prototype.endsWith) {
String.prototype.endsWith = function(sub) {
return this.length >= sub.length && this.substring(this.length - sub.length) == sub;
};
}
无论哪种方式,您都可以执行以下操作:
if ("foo".endsWith("oo")) {
// ...
}
var s='告诉我更多:',s2='告诉我第2部分:'
s、 endsWith()//返回“:”
s、 endsWIth(“:”)//返回true,最后一个字符是“:”
s2.endsWIth(//\d:?/)//返回true。字符串以数字和(可能的)冒号结尾
var s='告诉我更多:',s2='告诉我第2部分:'
s、 endsWith()//返回“:”
s、 endsWIth(“:”)//返回true,最后一个字符是“:”
s2.endsWIth(//\d:?/)//返回true。字符串以数字和(可能的)冒号结尾我想你应该澄清你的问题。1) if条件中缺少括号,2)String.endsWith或String.endWith不是标准的javascript函数;有一个你想知道的问题,我想你应该澄清你的问题。1) if条件中缺少括号,2)String.endsWith或String.endWith不是标准的javascript函数;有一个IE,你会想知道的。是的,很抱歉我应该在上面写,我已经添加了一个带有原型的endsWith。谢谢这个版本稍微快一点:var i=this.length-sub.length;返回i>=0&&this.indexOf(sub,i)==i
。Prototype和其他一些人使用这种方法。@bobince:这一点很好,尽管我不得不说我无法想象现实世界的不同。是的,很抱歉我应该在上面写,我已经添加了一个带有Prototype的endsWith。谢谢这个版本稍微快一点:var i=this.length-sub.length;返回i>=0&&this.indexOf(sub,i)==i
。Prototype和其他一些人使用这种方法。@bobince:这一点很好,尽管我不得不说我无法想象现实世界中的差异。负索引(str.substr(-1)
)在JScript(IE)上不起作用。要成为可靠的跨浏览器,您需要str.substring(str.length-desiredSub.length)
。但是,您可以使用slice
,即使在IE中也可以使用负索引。负索引(str.substr(-1)
)不适用于JScript(IE)。要成为可靠的跨浏览器,您需要str.substring(str.length-desiredSub.length)
。但是,您可以使用slice
,它甚至可以在IE中使用负索引。'spoon!'。endswith('.')
-哎哟。小心地从字符串中创建正则表达式。另外,endswith(“”)
由于重载条件,无法执行您可能期望的操作。'spoon!'。endswith('.')
-哎哟。小心地从字符串中创建正则表达式。另外,endswith(“”)
由于重载条件,不会执行您可能期望的操作。