eu tenho
var id="ctl03_Tabs1";
Usando JavaScript, como posso obter os últimos cinco caracteres ou o último caractere?
eu tenho
var id="ctl03_Tabs1";
Usando JavaScript, como posso obter os últimos cinco caracteres ou o último caractere?
Respostas:
EDIT: Como outros já apontaram, use em slice(-5)
vez de substr
. No entanto, veja a .split().pop()
solução na parte inferior desta resposta para outra abordagem.
Resposta original:
Você desejará usar o método de string Javascript .substr()
combinado com a .length
propriedade
var id = "ctl03_Tabs1";
var lastFive = id.substr(id.length - 5); // => "Tabs1"
var lastChar = id.substr(id.length - 1); // => "1"
Isso obtém os caracteres começando em id.length - 5 e, como o segundo argumento para .substr () é omitido, continua até o final da string.
Você também pode usar o .slice()
método como outros indicaram abaixo.
Se você simplesmente procura encontrar os caracteres após o sublinhado, você pode usar o seguinte:
var tabId = id.split("_").pop(); // => "Tabs1"
Isso divide a string em uma matriz no sublinhado e, em seguida, "exibe" o último elemento da matriz (que é a string que você deseja).
.split().pop()
ainda são 5 milhões de operações por segundo. Não é um problema de desempenho até que seja um problema de desempenho. ;)
slice
é uma opção melhor neste momento.
slice
ou substr
em um número (int), converta-o em string primeiro. Por exemplomyVar.toString().slice(-5)
Não use .substr()
. Use o .slice()
método porque é compatível com vários navegadores (consulte IE).
const id = "ctl03_Tabs1";
console.log(id.slice(id.length - 5)); //Outputs: Tabs1
console.log(id.slice(id.length - 1)); //Outputs: 1
slice()
referência: developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/…
_Tabs15
? fatia (-5) só pegaria abs15
? trabalhos de grupo / pop muito melhor para comprimentos variaram ...
Você pode usar o método substr () com uma posição inicial negativa para recuperar os últimos n caracteres. Por exemplo, isso recebe os últimos 5:
var lastFiveChars = id.substr(-5);
Obter o último caractere é fácil, pois você pode tratar as strings como uma matriz:
var lastChar = id[id.length - 1];
Para obter uma seção de uma sequência, você pode usar a função substr ou a função substring :
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
A diferença entre substr
e substring
é como o segundo parâmetro (opcional) é tratado. Em substr
, é a quantidade de caracteres do índice (o primeiro parâmetro). Em substring
, é o índice de onde a fatia de caracteres deve terminar.
O script a seguir mostra o resultado para obter os últimos 5 caracteres e o último 1 caractere em uma string usando JavaScript:
var testword='ctl03_Tabs1';
var last5=testword.substr(-5); //Get 5 characters
var last1=testword.substr(-1); //Get 1 character
Resultado :
Tabs1 // Tem 5 caracteres
1 // Obteve 1 caractere
Confira a função de substring .
Para obter o último caractere:
id.substring(id.length - 1, id.length);
Não é necessário usar o substr
método para obter um único caractere de uma string!
tomando o exemplo de Jamon Holmgren, podemos alterar o método substr e simplesmente especificar a posição do array:
var id = "ctl03_Tabs1";
var lastChar = id[id.length - 1]; // => "1"
A função Substr permite que você use um sinal de menos para obter o último caractere.
var string = "hello";
var last = string.substr(-1);
É muito flexível. Por exemplo:
// 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"
Se você quer apenas o último caractere ou qualquer caractere na posição conhecida, pode simplesmente tratar a string como uma matriz! - seqüências de caracteres são iteráveis em javascript -
Var x = "hello_world";
x[0]; //h
x[x.length-1]; //d
No entanto, se você precisar de mais de um caractere, use a emenda.
x.slice(-5); //world
Em relação ao seu exemplo
"rating_element-<?php echo $id?>"
Para extrair identificação, você pode facilmente usar split + pop
Id= inputId.split('rating_element-')[1];
Isso retornará o ID, ou indefinido, se nenhum ID for posterior a 'rating_element' :)
Supondo que você compare a substring com o final de outra string e use o resultado como um booleano, você pode estender a classe String para fazer isso:
String.prototype.endsWith = function (substring) {
if(substring.length > this.length) return false;
return this.substr(this.length - substring.length) === substring;
};
Permitindo que você faça o seguinte:
var aSentenceToPonder = "This sentence ends with toad";
var frogString = "frog";
var toadString = "toad";
aSentenceToPonder.endsWith(frogString) // false
aSentenceToPonder.endsWith(toadString) // true
var id="ctl03_Tabs1";
var res = id.charAt(id.length-1);
Eu encontrei essa pergunta e, através de algumas pesquisas, descobri que essa é a maneira mais fácil de obter o último caractere.
Como outros já mencionaram e acrescentaram para obter os últimos 5:
var last5 = id.substr(-5);
Este removerá a vírgula se este for o último caractere da string.
var str = $("#ControlId").val();
if(str.substring(str.length-1)==',') {
var stringWithoutLastComma = str.substring(0,str.length-1);
}
Na verdade, tenho o seguinte problema e é assim que eu o resolvi com a ajuda da resposta acima, mas com uma abordagem diferente na extração de um formulário de identificação.
Anexei entrada arquivada com um
id="rating_element-<?php echo $id?>"
E, quando esse botão clicou, quero extrair o id (que é o número) ou o php ID ($ id) .
Então aqui o que eu faço.
$('.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
});
Últimos 5
var id="ctl03_Tabs1";
var res = id.charAt(id.length-5)
alert(res);
Último
var id="ctl03_Tabs1";
var res = id.charAt(id.length-1)
alert(res);
charAt
para substr
. Isso charAt
é o quinto da última .
Tenho certeza que isso vai funcionar ....
var string1="myfile.pdf"
var esxtenion=string1.substr(string1.length-4)
O valor de extension
será".pdf"