我怎样才能得到一个string的最后一个字符使用JavaScript

我有

var id="ctl03_Tabs1"; 

使用JavaScript,我怎么能得到最后五个字符或最后一个字符?

您将要使用与.length属性相结合的Javascriptstring方法.substr()

 var id = "ctl03_Tabs1"; var lastFive = id.substr(id.length - 5); // => "Tabs1" var lastChar = id.substr(id.length - 1); // => "1" 

这将获得从id.length – 5开始的字符,由于省略了.substr()的第二个参数,所以继续到string的末尾。

您也可以使用.slice()方法,正如其他人指出的那样。

如果你只是想find下划线后的字符,你可以使用这个:

 var tabId = id.split("_").pop(); // => "Tabs1" 

这将string拆分为下划线的数组,然后将数组中的最后一个元素“popup”(这是您想要的string)。

不要使用.substr() 。 使用.slice()方法,而不是跨浏览器兼容(见IE)。

 var id = "ctl03_Tabs1"; id.slice(-5); //Outputs: Tabs1 id.slice(-1); //Outputs: 1 

substr()负值不工作在IE中

获取最后一个字符很容易,因为您可以将string视为一个数组:

 var lastChar = id[id.length-1]; 

要获取string的一部分,可以使用substr函数或子string函数:

 id.substr(id.length-1); //get the last character id.substr(2); //get the characters from the 3rd character on id.substr(2, 1); //get the 3rd character id.susbstr(2, 2); //get the 3rd and 4th characters 

substrsubstring之间的区别在于第二个(可选)参数是如何处理的。 在substr ,它是索引中的字符数量(第一个参数)。 在substring ,它是字符切片应该结束的位置的索引。

您可以使用带有负开始位置的substr()方法来检索最后n个字符。 例如,这得到最后的5:

 var lastFiveChars = id.substr(-5); 

以下脚本显示了使用JavaScript获取最后5个字符和最后1个字符的结果:

 var testword='ctl03_Tabs1'; var last5=testword.substr(-5); //Get 5 characters var last1=testword.substr(-1); //Get 1 character 

输出:

Tabs1 //有5个字符

1 //有1个字符

没有必要使用substr方法来获得一个string的单个字符!

以Jamon Holmgren为例,我们可以改变substr方法,并简单地指定数组的位置:

 var id = "ctl03_Tabs1"; var lastChar = id[id.length - 1]; // => "1" 

检查子string函数 。

为了得到最后一个字符:

 id.substring(id.length - 1, id.length); 

假设您将比较子string和另一个string的结尾,并将结果用作布尔值,则可以扩展string类来完成此操作:

 String.prototype.endsWith = function (substring) { if(substring.length > this.length) return false; return this.substr(this.length - substring.length) === substring; }; 

允许您执行以下操作:

 var aSentenceToPonder = "This sentence ends with toad"; var frogString = "frog"; var toadString = "toad"; aSentenceToPonder.endsWith(frogString) // false aSentenceToPonder.endsWith(toadString) // true 

如果它是string中的最后一个字符,这个将删除逗号。

 var str = $("#ControlId").val(); if(str.substring(str.length-1)==',') { var stringWithoutLastComma = str.substring(0,str.length-1); } 

我实际上有以下问题,这是如何解决了上述答案的帮助,但不同的方法提取idforms的input元素。

我附上了一个提交的input

 id="rating_element-<?php echo $id?>" 

而且,当点击那个button时,我只想提取id(这是数字)或php ID ($ id)

所以在这里我做什么。

  $('.rating').on('rating.change', function() { alert($(this).val()); // console.log(this.id); var static_id_text=("rating_element-").length; var product_id = this.id.slice(static_id_text); //get the length in order to deduct from the whole string console.log(product_id );//outputs the last id appended });