Jak uzyskać długość sznurka?


Odpowiedzi:


471

Nie potrzebujesz jquery, po prostu użyj yourstring.length. Zobacz referencje tutaj i tutaj .

Aktualizacja :

Aby obsługiwać ciągi Unicode, długość należy obliczyć w następujący sposób:

[..."𠮷"].length

lub utwórz funkcję pomocniczą

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

6
Ja też, och, radości SO.
karim79

11
Założę się, że to tylko konkurencja. : D
Arnis Lapsa

11
Artem Barger - prawdopodobnie dlatego, że zapytał o użycie Jquery.
cykliczny

2
Artem Barger - prawdopodobnie dlatego, że szukał tego samego, co ja: sposobu na uzyskanie długości tekstu zawartego w tagu HTML. Jestem początkującym, więc wiedziałem, jak zdobyć treść, ale nie jej długość. W tym sensie odpowiedź genesis poniżej jest lepsza.
Adrian Pauly

1
"𠮷".length == 2. Jak możemy uzyskać rzeczywistą liczbę znaków?
Pierre Thibault

196

Najłatwiejszy sposób:

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

37
jedyna odpowiedź, która odpowiada na zadane pytanie.
mtntrailrunner

5
w jaki sposób? nie, gdzie w pytaniu nie mówi nic o ciągu pochodzącym z :inputwartości
mkoryak

2
podobnie jak ten: len = $('#selector').is('div') ? "someString".length : 0i ma taki sam sens ...
mkoryak

ale to wciąż używa javascript, prawda? taki sam jak odpowiedź @Artem Barger
Malcolm Salvador

41

jQuery to biblioteka JavaScript.

Nie musisz używać jQuery, aby uzyskać długość ciągu, ponieważ jest to podstawowa właściwość obiektu ciągu JavaScript.

somestring.length;

13
+1 za włączenie wiersza „jQuery jest biblioteką JavaScript”. Wiele odpowiedzi mówi, że nie potrzebujesz jQuery, ale może to być mylące dla osoby, która uważa, że ​​„jQuery” i „JavaScript” to dwie różne rzeczy.
Grant Wagner,

22

HTML

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

SCENARIUSZ

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

WYNIK

10



19

Nieco ważnym rozróżnieniem jest to, czy element jest wejściem, czy nie. Jeśli dane wejściowe można użyć:

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

w przeciwnym razie, jeśli element jest innym elementem HTML, takim jak div akapitu lub elementu listy itp., musisz użyć

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

1
Właściwa odpowiedź na to pytanie! Tutaj naprawdę zdefiniowano, w jaki sposób uzyskuje się wartość „pola wejściowego” lub „tekstu”. Dodatkowo możliwe jest uzyskanie długości HTML, jak $('#selector').html().length.
Eugen



1

W jQuery:

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

LUB

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

W JS:

var len = str.len;

1

W niektórych przypadkach String.length może zwrócić wartość inną niż rzeczywista liczba znaków widocznych na ekranie (np. Niektóre emoji są kodowane przez 2 jednostki UTF-16):

MDN mówi : Ta właściwość zwraca liczbę jednostek kodu w ciągu. UTF-16, format ciągu używany przez JavaScript, wykorzystuje pojedynczą 16-bitową jednostkę kodu do reprezentowania najczęściej występujących znaków, ale musi używać dwóch jednostek kodu dla mniej często używanych znaków, więc możliwe jest, aby wartość zwracana przez długość do nie pasuje do rzeczywistej liczby znaków w ciągu .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.