我怎样才能得到一个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
substr
和substring
之间的区别在于第二个(可选)参数是如何处理的。 在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 });