Je dois sélectionner les deux derniers caractères de la variable, qu'il s'agisse de chiffres ou de lettres.
Par exemple:
var member = "my name is Mate";
Je voudrais afficher les deux dernières lettres de la chaîne dans la membervariable.
Réponses:
Vous pouvez transmettre un index négatif à .slice(). Cela indiquera un décalage par rapport à la fin de l'ensemble.
var member = "my name is Mate";
var last2 = member.slice(-2);
alert(last2); // "te"
Essayez ceci, notez que vous n'avez pas besoin de spécifier l'index de fin dans substring.
var characters = member.substr(member.length -2);
substrdocumentation de MDN , «le JScript de Microsoft ne prend pas en charge les valeurs négatives pour l'index de démarrage».
EDIT: 2020: utiliser string.slice(-2)comme d'autres disent - voir ci-dessous.
maintenant 2016 string.substr(-2)devrait juste faire l'affaire (pas de sous-chaîne (!))
extrait de MDN
Syntaxe
str.substr(start[, length])Paramètres
début
Emplacement à partir duquel commencer l'extraction des caractères. Si un nombre négatif est donné, il est traité comme strLength + start où strLength est la longueur de la chaîne (par exemple, si start est -3, il est traité comme strLength - 3.) length Facultatif. Le nombre de caractères à extraire.
MODIFIER 2020
MDN dit
Attention: Bien que String.prototype.substr (…) ne soit pas strictement obsolète (comme dans «retiré des standards Web»), il est considéré comme une fonction héritée et doit être évité lorsque cela est possible. Il ne fait pas partie du langage JavaScript de base et peut être supprimé à l'avenir.
L'exemple suivant utilise slice()avec des index négatifs
var str = 'my name is maanu.';
console.log(str.slice(-3)); // returns 'nu.' last two
console.log(str.slice(3, -7)); // returns 'name is'
console.log(str.slice(0, -1)); // returns 'my name is maanu'
Tu peux essayer
member.substr(member.length-2);
substr, et maintenant j'aimerais pouvoir trouver le fil de discussion où un git suffisant m'a donné du fil à retordre (et en particulier à ne pas utiliser d'index négatifs) - je peux maintenant le justifier! :-)
Si c'est un entier, vous avez besoin d'une partie de ...
var result = number.toString().slice(-2);
Vous devez utiliser une sous-chaîne, pas jQuery, pour ce faire.
Essayez quelque chose comme ceci:
member.substring(member.length - 2, member.length)
W3Schools (pas officiel, mais parfois utile): http://www.w3schools.com/jsref/jsref_substring.asp
Ajout du lien MDN comme demandé par le commentateur: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/substring
var member = "my name is maanu";
var answer=member.substring(0,member.length - 2);
alert(answer);
Le plus court:
str.slice(-2)
Exemple:
const str = "test";
const last2 = str.slice(-2);
console.log(last2);
slice()référence: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…