Come posso ottenere gli ultimi caratteri di una stringa usando JavaScript

io ho

var id="ctl03_Tabs1"; 

Usando JavaScript, come posso ottenere gli ultimi cinque caratteri o l’ultimo carattere?

Dovrai utilizzare il metodo stringa JavaScript .substr() combinato con la proprietà .length .

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

In questo modo i personaggi iniziano da id.length – 5 e, poiché il secondo argomento per .substr () viene omesso, continua fino alla fine della stringa.

Puoi anche usare il metodo .slice() come altri hanno sottolineato di seguito.

Se stai semplicemente cercando di trovare i caratteri dopo il trattino basso, puoi usare questo:

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

Questo divide la stringa in una matrice sul trattino basso e quindi “apre” l’ultimo elemento dell’array (che è la stringa che si desidera).

Non usare .substr() . Usa invece il metodo .slice() perché è compatibile con più browser (vedi IE).

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

substr () con valore negativo non funzionante in IE

Ottenere l’ultimo carattere è facile, dato che puoi trattare le stringhe come una matrice:

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

Per ottenere una sezione di una stringa, è ansible utilizzare la funzione substr o la sottostringa :

 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 

La differenza tra substr e substring è come viene trattato il secondo parametro (facoltativo). Nel substr , è la quantità di caratteri dall’indice (il primo parametro). Nella substring , è l’indice di dove dovrebbe terminare l’affettatura del personaggio.

È ansible utilizzare il metodo substr () con una posizione iniziale negativa per recuperare gli ultimi n caratteri. Ad esempio, questo ottiene gli ultimi 5:

 var lastFiveChars = id.substr(-5); 

Lo script seguente mostra il risultato per ottenere gli ultimi 5 caratteri e l’ultimo 1 carattere in una stringa utilizzando JavaScript:

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

Produzione :

Schede1 // Hai 5 caratteri

1 // Ho ottenuto 1 personaggio

Non è necessario utilizzare il metodo substr per ottenere un singolo carattere di una stringa!

prendendo l’esempio di Jamon Holmgren possiamo cambiare il metodo substr e semplicemente specificare la posizione dell’array:

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

Controlla la funzione sottostringa .

Per ottenere l’ultimo carattere:

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

Supponendo che si confronti la sottostringa alla fine di un’altra stringa e si usi il risultato come booleano si può estendere la class String per ottenere ciò:

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

Permettendoti di fare quanto segue:

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

Se vuoi solo l’ultimo carattere o qualsiasi personaggio nella posizione conosciuta, puoi semplicemente tratare la stringa come una matrice! – le stringhe sono iterabili in javascript –

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

Tuttavia, se hai bisogno di più di un solo personaggio, usa la giuntura efficace

 x.slice(-5); //world 

Per quanto riguarda il tuo esempio

 "rating_element-" 

Per estrarre id puoi facilmente usare split + pop

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

Questo restituirà l’id, o indefinito se nessun id era dopo ‘rating_element’ 🙂

Questo rimuoverà la virgola se è l’ultimo carattere nella stringa ..

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

In realtà ho il seguente problema e questo è il modo in cui l’ho risolto con l’aiuto della risposta sopra, ma un approccio diverso nell’estrazione di id è un elemento di input.

Ho allegato l’input archiviato con un

 id="rating_element-" 

E, quando quel pulsante ha cliccato, voglio estrarre solo l’id (che è il numero) o l’ID php ($ id) .

Quindi, ecco cosa faccio.

  $('.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 }); 
 var id="ctl03_Tabs1"; var res = id.charAt(id.length-1); 

Ho trovato questa domanda e attraverso alcune ricerche ho trovato questo il modo più semplice per ottenere l’ultimo personaggio.

Come altri hanno menzionato e aggiunto per completezza per ottenere gli ultimi 5:

 var last5 = id.substr(-5); 

Un modo sarebbe utilizzare slice , come segue:

 var id="ctl03_Tabs1"; var temp=id.slice(-5); 

quindi il valore di temp sarebbe "Tabs1" .

Sono sicuro che funzionerà ….

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

Il valore extension sarà ".pdf"