Jeg har
var id="ctl03_Tabs1";
Hvordan kan jeg ved hjælp af JavaScript få de sidste fem tegn eller det sidste tegn?
EDIT: Som andre har påpeget, skal du bruge slice(-5)
i stedet for substr
. Se dog løsningen .split().pop()
nederst i dette svar for en anden fremgangsmåde.
Originalt svar:
Du skal bruge Javascript-strengmetoden .substr()
kombineret med egenskaben .length
.
var id = "ctl03_Tabs1";
var lastFive = id.substr(id.length - 5); // => "Tabs1"
var lastChar = id.substr(id.length - 1); // => "1"
Dette henter de tegn, der starter ved id.length - 5, og da det andet argument for .substr() er udeladt, fortsætter det til slutningen af strengen.
Du kan også bruge metoden .slice()
, som andre har påpeget nedenfor.
Hvis du blot ønsker at finde tegnene efter understregningen, kan du bruge dette:
var tabId = id.split("_").pop(); // => "Tabs1"
Dette opdeler strengen i et array på understregningen og "pops" det sidste element fra arrayet (som er den ønskede streng).
Det er nemt at finde det sidste tegn, da du kan behandle strenge som et array:
var lastChar = id[id.length - 1];
For at få et afsnit af en streng kan du bruge funktionen substr eller funktionen substring til at hente et afsnit af en streng:
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.substr(2, 2); //get the 3rd and 4th characters
Forskellen mellem substr
og substring
er, hvordan den anden (valgfri) parameter behandles. I substr
er det mængden af tegn fra indekset (den første parameter). I substring
er det indekset for, hvor tegnskivningen skal slutte.