Am
var id="ctl03_Tabs1";
Folosind JavaScript, cum aș putea obține ultimele cinci personaje sau ultimul caracter?
EDIT: Ca alții au subliniat, folosim o felie(-5)în loc de
substr`. Cu toate acestea, a se vedea .split().pop()
soluție în partea de jos a acest răspuns pentru o altă abordare.
Original răspuns:
Te'll doriți să utilizați Javascript șir metoda .substr()
combinat cu `.lungimea de proprietate.
var id = "ctl03_Tabs1";
var lastFive = id.substr(id.length - 5); // => "Tabs1"
var lastChar = id.substr(id.length - 1); // => "1"
Acest lucru devine caractere începând de la id.lungime - 5 și, începând cu al doilea argument .substr() este omis, continuă până la sfârșitul șirului.
Puteți folosi, de asemenea,.slice()
metoda ca altii au subliniat de mai jos.
Daca're pur și simplu în căutarea de a găsi caractere după subliniere, ai putea folosi asta:
var tabId = id.split("_").pop(); // => "Tabs1"
Aceasta împarte șirul într-o matrice pe a sublinia și apoi "pop" ultimul element de pe matrice (care este șirul pe care doriți).
Don't folosi.substr(). Folosi
.slice () metoda în loc, pentru că este browser-ul cruce compatibil (a se vedea de EXEMPLU).
const id = "ctl03_Tabs1";
console.log(id.slice(id.length - 5)); //Outputs: Tabs1
console.log(id.slice(id.length - 1)); //Outputs: 1
https://stackoverflow.com/questions/6918943/substr-with-negative-value-not-working-in-ie
Obtinerea ultimul caracter este ușor, după cum puteți trata siruri de caractere ca o matrice:
var lastChar = id[id.length - 1];
Pentru a obține o secțiune de un șir de caractere, puteți utiliza [substr](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/substr funcția) sau [subșir](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/substring funcția):
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
Diferența între substr " și " subșir
este modul cel de-al doilea (opțional) parametru este tratat. În substr
, l's cantitatea de caractere din index (primul parametru). În subșirul`, l's indicele de unde caracterul feliere ar trebui să se încheie.
Puteți utiliza substr() metoda cu un negativ poziția de pornire pentru a extrage ultimele n caractere. De exemplu, acest lucru devine ultimii 5:
var lastFiveChars = id.substr(-5);
Următorul script prezintă rezultatul pentru a obține ultimele 5 caractere și ultimul 1 caracter într-un șir utilizând JavaScript:
var testword='ctl03_Tabs1';
var last5=testword.substr(-5); //Get 5 characters
var last1=testword.substr(-1); //Get 1 character
Ieșire :
Tabs1 // 5 caractere
1 // Am 1 caracter
Nu este nevoie de a utiliza substr
metodă pentru a obține un singur char de un șir!
luând exemplul de Jamon Holmgren putem schimba substr metodă și pur și simplu specifica o matrice de poziție:
var id = "ctl03_Tabs1";
var lastChar = id[id.length - 1]; // => "1"
Presupunând că va compara subșir față de sfârșitul anului un alt șir de caractere și de a folosi rezultatul ca un boolean poate extinde clasa String pentru a realiza acest lucru:
String.prototype.endsWith = function (substring) {
if(substring.length > this.length) return false;
return this.substr(this.length - substring.length) === substring;
};
Permițându-vă să faceți următoarele:
var aSentenceToPonder = "This sentence ends with toad";
var frogString = "frog";
var toadString = "toad";
aSentenceToPonder.endsWith(frogString) // false
aSentenceToPonder.endsWith(toadString) // true
Dacă doriți doar ultimul caracter sau orice caracter de la știu poziție, puteți pur și simplu trat șir ca o matrice! - siruri de caractere sunt iteratorable în javascript -
Var x = "hello_world";
x[0]; //h
x[x.length-1]; //d
Totuși, dacă aveți nevoie de mai mult decât doar un personaj apoi utilizați îmbinare este eficient
x.slice(-5); //world
Cu privire exemplu
"rating_element-<?php echo $id?>"
Pentru a extrage id-ul puteți utiliza cu ușurință split + pop
Id= inputId.split('rating_element-')[1];
Acest lucru va returna id-ul, sau nedefinit dacă nu a fost id-ul dupa 'rating_element' :)
La Substr funcție vă permite să utilizați un minus pentru a obține ultimul caracter.
var string = "hello";
var last = string.substr(-1);
L's foarte flexibil. De exemplu:
// Get 2 characters, 1 character from end
// The first part says how many characters
// to go back and the second says how many
// to go forward. If you don't say how many
// to go forward it will include everything
var string = "hello!";
var lasttwo = string.substr(-3,2);
// = "lo"
Ultimele 5
var id="ctl03_Tabs1";
var res = id.charAt(id.length-5)
alert(res);
Ultima
var id="ctl03_Tabs1";
var res = id.charAt(id.length-1)
alert(res);
Aceasta va elimina prin virgulă dacă este ultimul caracter din șir..
var str = $("#ControlId").val();
if(str.substring(str.length-1)==',') {
var stringWithoutLastComma = str.substring(0,str.length-1);
}
var id="ctl03_Tabs1";
var res = id.charAt(id.length-1);
Am găsit această întrebare și prin unele de cercetare am găsit acest lucru să fie cel mai simplu mod de a obține ultimul caracter.
Cum alții au menționat și a adăugat pentru completitudine pentru a obține ultimele 5:
var last5 = id.substr(-5);
De fapt, am urmatoarea problema si cum am rezolvat-o cu ajutorul răspunsul de mai sus, dar diferite de abordare în extragerea id forma un element de intrare.
Am atașat de intrare depuse, cu o
id="rating_element-<?php echo $id?>"
Și , atunci când acest buton este apasat vreau să extragem id-ul(care este numărul) sau php ID ($id) numai.
Deci, aici ceea ce fac .
$('.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
});