Wie bekommt man die Länge eines Strings?


Antworten:


471

Sie brauchen keine Abfrage, verwenden Sie einfach yourstring.length. Siehe Referenz hier und auch hier .

Update :

Um Unicode-Zeichenfolgen zu unterstützen, muss die Länge wie folgt berechnet werden:

[..."𠮷"].length

oder erstellen Sie eine Hilfsfunktion

function uniLen(s) {
    return [...s].length
}

6
Ich war auch, oh die Freuden von SO.
Karim79

11
Ich wette, das ist nur Wettbewerb. : D
Arnis Lapsa

11
Artem Barger - wahrscheinlich, weil er nach Jquery gefragt hat.
zyklische

2
Artem Barger - wahrscheinlich, weil er das Gleiche suchte wie ich: eine Möglichkeit, die Länge des in einem HTML-Tag enthaltenen Textes zu ermitteln. Ich bin ein Anfänger, also wusste ich, wie man den Inhalt bekommt, aber nicht seine Länge. In diesem Sinne ist die Antwort von Genesis unten besser.
Adrian Pauly

1
"𠮷".length == 2. Wie können wir die tatsächliche Anzahl der Zeichen ermitteln?
Pierre Thibault

196

Der einfachste Weg:

$('#selector').val().length

37
Die einzige Antwort, die die gestellte Frage beantwortet.
Mtntrailrunner

5
wie ist das? Nein, wo in der Frage sagt er etwas über die Zeichenfolge, die von einem :inputWert stammt
mkoryak

2
so auch dieses: len = $('#selector').is('div') ? "someString".length : 0und macht genauso viel Sinn ...
mkoryak

aber das benutzt immer noch nur Javascript, nicht wahr? das gleiche wie die Antwort von @Artem Barger
Malcolm Salvador

41

jQuery ist eine JavaScript-Bibliothek.

Sie müssen jQuery nicht verwenden, um die Länge einer Zeichenfolge abzurufen, da es sich um eine grundlegende JavaScript-Zeichenfolgenobjekteigenschaft handelt.

somestring.length;

13
+1 für das Einfügen der Zeile 'jQuery ist eine JavaScript-Bibliothek.' Viele Antworten besagen, dass Sie jQuery nicht benötigen, aber dies kann für eine Person verwirrend sein, die glaubt, dass 'jQuery' und 'JavaScript' zwei verschiedene Dinge sind.
Grant Wagner

22

HTML

<div class="selector">Text mates</div>

SKRIPT

alert(jQuery('.selector').text().length);

ERGEBNIS

10


20

Sie müssen jquery nicht verwenden.

var myString = 'abc';
var n = myString.length;

n wird 3 sein.


19

Eine etwas wichtige Unterscheidung ist, ob das Element eine Eingabe ist oder nicht. Wenn Sie eine Eingabe verwenden können:

$('#selector').val().length;

Andernfalls müssen Sie verwenden, wenn das Element ein anderes HTML-Element wie ein Absatz oder ein Listenelement div usw. ist

$('#selector').text().length;

1
Es ist die richtige Antwort auf diese Frage! Hier ist wirklich definiert, wie man eine Länge von "Eingabefeld" oder "Text" erhält. Zusätzlich ist es möglich, HTML-Länge zu erhalten, wie $('#selector').html().length.
Eugen

13

Es ist keine Frage, die Sie brauchen, es ist JS:

alert(str.length);

11

genauso wie du es in Javascript machst:

"something".length


1

In jQuery:

var len = jQuery('.selector').val().length; //or 
( var len = $('.selector').val().length;) //- If Element is Text Box

ODER

var len = jQuery('.selector').html().length; //or
( var len = $('.selector').html().length; ) //- If Element is not Input Text Box

In JS:

var len = str.len;

1

In einigen Fällen gibt String.length möglicherweise einen Wert zurück, der sich von der tatsächlichen Anzahl der auf dem Bildschirm sichtbaren Zeichen unterscheidet (z. B. werden einige Emojis von 2 UTF-16-Einheiten codiert):

MDN sagt : Diese Eigenschaft gibt die Anzahl der Codeeinheiten in der Zeichenfolge zurück. UTF-16, das von JavaScript verwendete Zeichenfolgenformat, verwendet eine einzelne 16-Bit-Codeeinheit, um die am häufigsten verwendeten Zeichen darzustellen, muss jedoch zwei Codeeinheiten für weniger häufig verwendete Zeichen verwenden, sodass der Wert nach Länge zurückgegeben werden kann stimmt nicht mit der tatsächlichen Anzahl der Zeichen in der Zeichenfolge überein .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.