j'ai
var id="ctl03_Tabs1";
En utilisant JavaScript, comment puis-je obtenir les cinq derniers caractères ou le dernier caractère?
j'ai
var id="ctl03_Tabs1";
En utilisant JavaScript, comment puis-je obtenir les cinq derniers caractères ou le dernier caractère?
Réponses:
EDIT: Comme d'autres l'ont souligné, utilisez slice(-5)plutôt que substr. Cependant, voyez la .split().pop()solution au bas de cette réponse pour une autre approche.
Réponse originale:
Vous voudrez utiliser la méthode de chaîne Javascript .substr()combinée à la .lengthpropriété.
var id = "ctl03_Tabs1";
var lastFive = id.substr(id.length - 5); // => "Tabs1"
var lastChar = id.substr(id.length - 1); // => "1"
Cela obtient les caractères commençant à id.length - 5 et, puisque le deuxième argument de .substr () est omis, continue jusqu'à la fin de la chaîne.
Vous pouvez également utiliser la .slice()méthode comme d'autres l'ont souligné ci-dessous.
Si vous cherchez simplement à trouver les caractères après le trait de soulignement, vous pouvez utiliser ceci:
var tabId = id.split("_").pop(); // => "Tabs1"
Cela divise la chaîne en un tableau sur le trait de soulignement, puis «fait sauter» le dernier élément du tableau (qui est la chaîne que vous voulez).
.split().pop()c'est toujours 5 millions d'opérations par seconde. Ce n'est pas un problème de performances tant que ce n'est pas un problème de performances. ;)
slicec'est une meilleure option à ce stade.
sliceou substrsur un nombre (int), convertissez-le d'abord en chaîne. Par exemplemyVar.toString().slice(-5)
Ne pas utiliser .substr(). Utilisez .slice()plutôt la méthode car elle est compatible avec tous les navigateurs (voir IE).
const id = "ctl03_Tabs1";
console.log(id.slice(id.length - 5)); //Outputs: Tabs1
console.log(id.slice(id.length - 1)); //Outputs: 1
substr () avec une valeur négative ne fonctionne pas dans IE
slice()référence: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
_Tabs15? tranche (-5) ne ferait que saisir abs15? le split / pop fonctionne bien mieux pour des longueurs variées ...
Vous pouvez utiliser la méthode substr () avec une position de départ négative pour récupérer les n derniers caractères. Par exemple, cela obtient les 5 derniers:
var lastFiveChars = id.substr(-5);
Obtenir le dernier caractère est facile, car vous pouvez traiter les chaînes comme un tableau:
var lastChar = id[id.length - 1];
Pour obtenir une section d'une chaîne, vous pouvez utiliser la fonction substr ou la fonction 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
La différence entre substret substringest la façon dont le deuxième paramètre (facultatif) est traité. Dans substr, c'est la quantité de caractères de l'index (le premier paramètre). Dans substring, c'est l'index de la fin du découpage des caractères.
Le script suivant montre le résultat pour obtenir les 5 derniers caractères et le dernier 1 caractère d'une chaîne en utilisant JavaScript:
var testword='ctl03_Tabs1';
var last5=testword.substr(-5); //Get 5 characters
var last1=testword.substr(-1); //Get 1 character
Production :
Tabs1 // 5 caractères
1 // J'ai 1 caractère
Découvrez la fonction de sous - chaîne .
Pour obtenir le dernier caractère:
id.substring(id.length - 1, id.length);
Il n'est pas nécessaire d'utiliser la substrméthode pour obtenir un seul caractère d'une chaîne!
en prenant l'exemple de Jamon Holmgren, nous pouvons changer la méthode substr et simplement spécifier la position du tableau:
var id = "ctl03_Tabs1";
var lastChar = id[id.length - 1]; // => "1"
La fonction Substr vous permet d'utiliser un moins pour obtenir le dernier caractère.
var string = "hello";
var last = string.substr(-1);
C'est très flexible. Par exemple:
// 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"
Si vous voulez juste le dernier caractère ou n'importe quel caractère à la position connue, vous pouvez simplement trater la chaîne comme un tableau! - les chaînes sont itérables en javascript -
Var x = "hello_world";
x[0]; //h
x[x.length-1]; //d
Pourtant, si vous avez besoin de plus d'un caractère, utiliser l'épissure est efficace
x.slice(-5); //world
Concernant votre exemple
"rating_element-<?php echo $id?>"
Pour extraire l'identifiant, vous pouvez facilement utiliser split + pop
Id= inputId.split('rating_element-')[1];
Cela renverra l'identifiant, ou indéfini si aucun identifiant n'était après 'rating_element' :)
En supposant que vous comparerez la sous-chaîne à la fin d'une autre chaîne et utiliserez le résultat comme un booléen, vous pouvez étendre la classe String pour accomplir ceci:
String.prototype.endsWith = function (substring) {
if(substring.length > this.length) return false;
return this.substr(this.length - substring.length) === substring;
};
Vous permettant de faire ce qui suit:
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);
J'ai trouvé cette question et grâce à des recherches, j'ai trouvé que c'était le moyen le plus simple d'obtenir le dernier personnage.
Comme d'autres l'ont mentionné et ajouté pour être complet afin d'obtenir les 5 derniers:
var last5 = id.substr(-5);
Celui-ci supprimera la virgule s'il s'agit du dernier caractère de la chaîne.
var str = $("#ControlId").val();
if(str.substring(str.length-1)==',') {
var stringWithoutLastComma = str.substring(0,str.length-1);
}
J'ai en fait le problème suivant et voici comment je l'ai résolu à l'aide de la réponse ci-dessus, mais une approche différente pour extraire l'id d'un élément d'entrée.
J'ai joint une entrée déposée auprès d'un
id="rating_element-<?php echo $id?>"
Et, lorsque ce bouton a cliqué, je veux extraire l'id (qui est le nombre) ou l'ID php ($ id) uniquement.
Voici donc ce que je fais.
$('.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
});
5 derniers
var id="ctl03_Tabs1";
var res = id.charAt(id.length-5)
alert(res);
Dernier
var id="ctl03_Tabs1";
var res = id.charAt(id.length-1)
alert(res);
charAtà substr. Cela charAtobtient l'avant -dernier .
Je suis sûr que cela fonctionnera ...
var string1="myfile.pdf"
var esxtenion=string1.substr(string1.length-4)
La valeur de extensionsera".pdf"