我有

var id="ctl03_Tabs1";

使用JavaScript,如何获得最后五个字符或最后一个字符?


当前回答

如果你只是想要最后一个字符或任何字符在知道的位置,你可以简单地trat字符串作为一个数组!字符串在javascript中是可迭代的

Var x = "hello_world";
 x[0];                    //h
 x[x.length-1];   //d

然而,如果你需要不止一个字符,那么使用拼接是有效的

x.slice(-5);      //world

关于你的例子

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

要提取id,可以很容易地使用split + pop

Id= inputId.split('rating_element-')[1];

返回id,如果'rating_element'后面没有id,则返回undefined :)

其他回答

检查子字符串函数。

要得到最后一个字符:

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

我相信这将工作....

var string1="myfile.pdf"
var esxtenion=string1.substr(string1.length-4)

extension的值是"。pdf"

性能

今天2020.12.31我在Chrome v87、Safari v13.1.2和Firefox v84上的MacOs HighSierra 10.13.6上执行测试,以获得最后N个字符的大小写(最后一个字母大小写的结果,为了清晰起见,我在单独的答案中给出)。

结果

适用于所有浏览器

基于切片的解决方案D是最快或最快的 解G最慢

细节

我执行2个测试用例:

当字符串有10个字符-你可以在这里运行它 当字符串有1M字符-你可以在这里运行它

下面的代码片段给出了解决方案 一个 B C D E F G(我)

//https://stackoverflow.com/questions/5873810/how-can-i-get-last-characters-of-a-string // https://stackoverflow.com/a/30916653/860099 function A(s,n) { return s.substr(-n) } // https://stackoverflow.com/a/5873890/860099 function B(s,n) { return s.substr(s.length - n) } // https://stackoverflow.com/a/17489443/860099 function C(s,n) { return s.substring(s.length - n, s.length); } // https://stackoverflow.com/a/50395190/860099 function D(s,n) { return s.slice(-n); } // https://stackoverflow.com/a/50374396/860099 function E(s,n) { let i = s.length-n; let r = ''; while(i<s.length) r += s.charAt(i++); return r } // https://stackoverflow.com/a/17489443/860099 function F(s,n) { let i = s.length-n; let r = ''; while(i<s.length) r += s[i++]; return r } // my function G(s,n) { return s.match(new RegExp(".{"+n+"}$")); } // -------------------- // TEST // -------------------- [A,B,C,D,E,F,G].map(f=> { console.log( f.name + ' ' + f('ctl03_Tabs1',5) )}) This shippet only presents functions used in performance tests - it not perform tests itself!

这里是chrome的示例结果

要获取字符串的最后一个字符,可以使用split(").pop()函数。

const myText = "The last character is J";
const lastCharater = myText.split('').pop();
console.log(lastCharater); // J

它的工作原理是因为当split(")函数有empty(")作为参数时,字符串的每个字符都被更改为数组的一个元素。因此,我们可以使用pop()函数返回该数组的最后一个元素,即'J'字符。

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

var lastFiveChars = id.substr(-5);