Bagaimana Anda mendapatkan panjang tali?

243

Bagaimana Anda mendapatkan panjang string di jQuery?

RubbleFord
sumber
7
Luar biasa hanya menggunakan JS normal.
RubbleFord

Jawaban:

471

Anda tidak perlu jquery, cukup gunakan yourstring.length. Lihat referensi di sini dan juga di sini .

Perbarui :

Untuk mendukung string unicode, panjang harus dihitung sebagai berikut:

[..."𠮷"].length

atau membuat fungsi bantu

function uniLen(s) {
    return [...s].length
}
Artem Barger
sumber
6
Saya juga, oh kegembiraan SO.
karim79
11
Saya yakin itu hanya kompetisi. : D
Arnis Lapsa
11
Artem Barger - mungkin karena dia bertanya tentang menggunakan Jquery.
siklus
2
Artem Barger - mungkin karena dia mencari hal yang sama seperti saya: cara untuk mendapatkan panjang teks yang terkandung dalam tag HTML. Saya seorang pemula jadi saya tahu cara mendapatkan konten tetapi tidak panjang. Dalam hal itu, jawaban genesis di bawah ini lebih baik.
Adrian Pauly
1
"𠮷".length == 2. Bagaimana kita bisa mendapatkan jumlah karakter yang sebenarnya?
Pierre Thibault
196

Cara termudah:

$('#selector').val().length
Andrei Iarus
sumber
37
satu-satunya jawaban yang menjawab pertanyaan seperti yang diajukan.
mtntrailrunner
5
bagaimana itu? tidak ada di mana dalam pertanyaan dia mengatakan sesuatu tentang string yang datang dari suatu :inputnilai
mkoryak
2
begitu juga yang ini: len = $('#selector').is('div') ? "someString".length : 0dan masuk akal ...
mkoryak
tapi ini masih menggunakan javascript bukan? sama dengan jawaban @Artem Barger
Malcolm Salvador
41

jQuery adalah perpustakaan JavaScript.

Anda tidak perlu menggunakan jQuery untuk mendapatkan panjang string karena itu adalah properti objek string JavaScript dasar.

somestring.length;
andreialecu
sumber
13
+1 untuk menyertakan baris 'jQuery adalah perpustakaan JavaScript.' Banyak jawaban yang mengatakan Anda tidak perlu jQuery, tetapi ini mungkin membingungkan bagi orang yang berpikir bahwa 'jQuery' dan 'JavaScript' adalah dua hal yang berbeda.
Grant Wagner
22

HTML

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

NASKAH

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

HASIL

10

Joedel
sumber
20

Anda tidak perlu menggunakan jquery.

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

n akan menjadi 3.

Lawrence Barsanti
sumber
19

Perbedaan yang agak penting adalah apakah elemen tersebut merupakan input atau tidak. Jika input, Anda dapat menggunakan:

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

jika tidak, jika elemennya adalah elemen html yang berbeda seperti paragraf atau daftar item dll, Anda harus menggunakan

$('#selector').text().length;
A_funs
sumber
1
Jawaban yang benar untuk Pertanyaan ini! Di sini benar-benar didefinisikan, bagaimana mendapat panjang nilai "bidang input" atau "teks". Tambahan mungkin untuk mendapatkan panjang html, seperti $('#selector').html().length.
Eugen
13

Ini bukan jquery yang Anda butuhkan, ini JS:

alert(str.length);
karim79
sumber
12

cara yang sama Anda melakukannya dalam javascript:

"something".length

mkoryak
sumber
1

Di jQuery:

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

ATAU

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

Di JS:

var len = str.len;
Mahak Choudhary
sumber
1

Dalam beberapa kasus, String.length mungkin mengembalikan nilai yang berbeda dari jumlah karakter aktual yang terlihat di layar (mis. Beberapa emoji dikodekan oleh 2 unit UTF-16):

MDN mengatakan : Properti ini mengembalikan jumlah unit kode dalam string. UTF-16, format string yang digunakan oleh JavaScript, menggunakan unit kode 16-bit tunggal untuk mewakili karakter yang paling umum, tetapi perlu menggunakan dua unit kode untuk karakter yang kurang umum digunakan, jadi mungkin untuk nilai yang dikembalikan oleh panjang untuk tidak cocok dengan jumlah karakter aktual dalam string .

Maxim Saplin
sumber