Wie bekommt man die Länge eines Strings?

243

Wie erhält man die Länge eines Strings in jQuery?

RubbleFord
quelle
7
Hervorragend nur normales JS verwenden.
RubbleFord

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
}
Artem Barger
quelle
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
Andrei Iarus
quelle
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;
andreialecu
quelle
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

Joedel
quelle
20

Sie müssen jquery nicht verwenden.

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

n wird 3 sein.

Lawrence Barsanti
quelle
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;
A_funs
quelle
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);
karim79
quelle
11

genauso wie du es in Javascript machst:

"something".length

mkoryak
quelle
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;
Mahak Choudhary
quelle
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 .

Maxim Saplin
quelle