JavaScript或jQuery字符串以实用程序函数结束

JavaScript or jQuery string ends with utility function

找出字符串是否以某个值结尾的最简单方法是什么?


你可以使用regexps,这样:

1
str.match(/value$/)

这会威胁到如果返回的字符串的有价值的信息比大学(美元)。


从椅子上prototypejs:

1
2
3
4
5
6
7
String.prototype.endsWith = function(pattern) {
    var d = this.length - pattern.length;
    return d >= 0 && this.lastIndexOf(pattern) === d;
};

'slaughter'.endsWith('laughter');
// -> true


正则表达式

1
"Hello world".match(/world$/)

你能做的'hello world'.slice(-5)==='world'。在全browsers厂。多食比正则表达式。


在没有运气。"匹配的方法,但这工作:

如果你的字符串,"这是我和字符串。如果它想看到的前端有一个周期,这样做:

1
2
3
4
var myString ="This is my string.";
var stringCheck =".";
var foundIt = (myString.lastIndexOf(stringCheck) === myString.length - stringCheck.length) > 0;
alert(foundIt);

你可以改变这两个变量stringcheck任何两个字符串的检查。最好还是会把这两个在你自己这样的功能:

1
2
3
4
5
function DoesStringEndWith(myString, stringCheck)
{
    var foundIt = (myString.lastIndexOf(stringCheck) === myString.length - stringCheck.length) > 0;
    return foundIt;
}


这es6直接支持:

1
'this is dog'.endsWith('dog')  //true


我只是"膨胀-什么matteis卢卡已经发布,但两个练习,芒的问题出在评论《包装的两个代码应该确保你是不是overwriting一人执行。

1
2
3
4
5
6
if ( !String.prototype.endsWith ) {  
    String.prototype.endsWith = function(pattern) {
        var d = this.length - pattern.length;
        return d >= 0 && this.lastIndexOf(pattern) === d;
    };
}

这是suggested方法的选择方法array.prototype.foreach芒在Mozilla开发者网络


你可以总是String类的原型,本会的工作:

string.prototype.endswith = function(STR) { return(this.match(STR +"$")=(STR);}

你可以找到其他相关的扩展为string类的HTML www.tek-tips.com / faqs.cfm吗?FID = 6620