ich habe
var id="ctl03_Tabs1";
Wie kann ich mit JavaScript die letzten fünf Zeichen oder das letzte Zeichen erhalten?
ich habe
var id="ctl03_Tabs1";
Wie kann ich mit JavaScript die letzten fünf Zeichen oder das letzte Zeichen erhalten?
Antworten:
EDIT: Wie andere bereits betont haben, verwenden Sie slice(-5)anstelle von substr. In der .split().pop()Lösung am Ende dieser Antwort finden Sie jedoch einen anderen Ansatz.
Ursprüngliche Antwort:
Sie möchten die Javascript-Zeichenfolgenmethode in .substr()Kombination mit der .lengthEigenschaft verwenden.
var id = "ctl03_Tabs1";
var lastFive = id.substr(id.length - 5); // => "Tabs1"
var lastChar = id.substr(id.length - 1); // => "1"
Dadurch beginnen die Zeichen bei id.length - 5 und werden, da das zweite Argument für .substr () weggelassen wird, bis zum Ende der Zeichenfolge fortgesetzt.
Sie können die .slice()Methode auch verwenden , wie andere unten ausgeführt haben.
Wenn Sie nur nach den Zeichen nach dem Unterstrich suchen, können Sie Folgendes verwenden:
var tabId = id.split("_").pop(); // => "Tabs1"
Dadurch wird die Zeichenfolge in ein Array mit dem Unterstrich aufgeteilt und das letzte Element aus dem Array "entfernt" (die gewünschte Zeichenfolge).
.split().pop()ist dies ein großer Leistungshit. Wenn Sie dies in einer Schleife verwenden und die Leistung von entscheidender Bedeutung ist, sollten Sie dies berücksichtigen.
.split().pop()es immer noch 5 Millionen Operationen pro Sekunde. Es ist kein Leistungsproblem, bis es ein Leistungsproblem ist. ;)
slicedies an dieser Stelle eine bessere Option ist.
sliceoder substrauf einer Zahl (int), konvertiert sie zunächst in einem String. ZBmyVar.toString().slice(-5)
Nicht benutzen .substr(). Verwenden Sie .slice()stattdessen die Methode, da sie browserübergreifend kompatibel ist (siehe IE).
const id = "ctl03_Tabs1";
console.log(id.slice(id.length - 5)); //Outputs: Tabs1
console.log(id.slice(id.length - 1)); //Outputs: 1
slice()Referenz: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
_Tabs15? Scheibe (-5) würde nur greifen abs15? Split / Pop funktioniert viel besser für verschiedene Längen ...
Sie können die substr () -Methode mit einer negativen Startposition verwenden, um die letzten n Zeichen abzurufen. Zum Beispiel erhält dies die letzten 5:
var lastFiveChars = id.substr(-5);
Das letzte Zeichen zu erhalten ist einfach, da Sie Zeichenfolgen als Array behandeln können:
var lastChar = id[id.length - 1];
Um einen Abschnitt eines Strings abzurufen , können Sie die substr- Funktion oder die substring- Funktion verwenden:
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
Der Unterschied zwischen substrund substringbesteht darin, wie der zweite (optionale) Parameter behandelt wird. In substrist es die Anzahl der Zeichen aus dem Index (der erste Parameter). In substringist es der Index, wo das Schneiden von Zeichen enden soll.
Das folgende Skript zeigt das Ergebnis für das Abrufen der letzten 5 Zeichen und des letzten 1 Zeichens in einer Zeichenfolge mithilfe von JavaScript:
var testword='ctl03_Tabs1';
var last5=testword.substr(-5); //Get 5 characters
var last1=testword.substr(-1); //Get 1 character
Ausgabe :
Tabs1 // Habe 5 Zeichen
1 // 1 Zeichen erhalten
Überprüfen Sie die Teilzeichenfolgenfunktion .
So erhalten Sie den letzten Charakter:
id.substring(id.length - 1, id.length);
Es ist nicht erforderlich, eine substrMethode zu verwenden, um ein einzelnes Zeichen eines Strings zu erhalten!
Am Beispiel von Jamon Holmgren können wir die substr-Methode ändern und einfach die Array-Position angeben:
var id = "ctl03_Tabs1";
var lastChar = id[id.length - 1]; // => "1"
Mit der Substr-Funktion können Sie ein Minus verwenden, um das letzte Zeichen zu erhalten.
var string = "hello";
var last = string.substr(-1);
Es ist sehr flexibel. Zum Beispiel:
// 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"
Wenn Sie nur das letzte Zeichen oder ein beliebiges Zeichen an einer bekannten Position haben möchten, können Sie einfach einen String als Array eingeben! - Strings können in Javascript iteriert werden -
Var x = "hello_world";
x[0]; //h
x[x.length-1]; //d
Wenn Sie jedoch mehr als nur ein Zeichen benötigen, ist die Verwendung von Spleiß effektiv
x.slice(-5); //world
In Bezug auf Ihr Beispiel
"rating_element-<?php echo $id?>"
Um die ID zu extrahieren, können Sie ganz einfach split + pop verwenden
Id= inputId.split('rating_element-')[1];
Dies gibt die ID zurück oder undefiniert, wenn nach 'bewertungselement' keine ID war :)
Angenommen, Sie vergleichen den Teilstring mit dem Ende eines anderen Strings und verwenden das Ergebnis als Booleschen Wert. Sie können die String-Klasse erweitern, um dies zu erreichen:
String.prototype.endsWith = function (substring) {
if(substring.length > this.length) return false;
return this.substr(this.length - substring.length) === substring;
};
So können Sie Folgendes tun:
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);
Ich fand diese Frage und durch einige Nachforschungen fand ich, dass dies der einfachste Weg ist, den letzten Charakter zu bekommen.
Wie andere erwähnt und der Vollständigkeit halber hinzugefügt haben, um die letzten 5 zu erhalten:
var last5 = id.substr(-5);
Dieser entfernt das Komma, wenn es das letzte Zeichen in der Zeichenfolge ist.
var str = $("#ControlId").val();
if(str.substring(str.length-1)==',') {
var stringWithoutLastComma = str.substring(0,str.length-1);
}
Ich habe tatsächlich das folgende Problem und so habe ich es mit Hilfe der obigen Antwort gelöst, aber ein anderer Ansatz beim Extrahieren der ID aus einem Eingabeelement.
Ich habe eine mit einer Datei eingereichte Eingabe angehängt
id="rating_element-<?php echo $id?>"
Und wenn diese Schaltfläche angeklickt wird, möchte ich nur die ID (die die Nummer ist) oder die PHP-ID ($ id) extrahieren .
Also hier was ich mache.
$('.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
});
Letzte 5
var id="ctl03_Tabs1";
var res = id.charAt(id.length-5)
alert(res);
Letzte
var id="ctl03_Tabs1";
var res = id.charAt(id.length-1)
alert(res);
charAtzu substr. Das ist charAtder fünftletzte .
Ich bin sicher, das wird funktionieren ...
var string1="myfile.pdf"
var esxtenion=string1.substr(string1.length-4)
Der Wert von extensionwird sein".pdf"