Bir ipin uzunluğunu nasıl elde edersiniz?


Yanıtlar:


471

Jquery'ye ihtiyacınız yok, sadece kullanın yourstring.length. Burada ve ayrıca burada referanslara bakın .

Güncelleme :

Unicode dizeleri desteklemek için uzunluk aşağıdaki gibi hesaplanmalıdır:

[..."𠮷"].length

veya yardımcı bir işlev oluşturun

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

6
Ben de öyleydi, oh SO'nun sevinci.
karim79

11
Bahse girerim bu sadece rekabettir. : D
Arnis Lapsa

11
Artem Barger - muhtemelen Jquery'yi kullanmayı sorduğu için.
Döngüsel

2
Artem Barger - muhtemelen benimle aynı şeyi aradığı için: HTML etiketinde bulunan metnin uzunluğunu elde etmenin bir yolu. Ben bir acemiyim, bu yüzden içeriği nasıl alacağımı biliyordum ama uzunluğunu değil. Bu anlamda genesis'in aşağıdaki cevabı daha iyidir.
Adrian Pauly

1
"𠮷".length == 2. Gerçek karakter sayısını nasıl alabiliriz?
Pierre Thibault

196

En kolay yol:

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

37
soruyu sorulduğu gibi cevaplayan tek cevap.
mtntrailrunner

5
bu nasıl? hayır soruda nerede bir :inputdeğerden gelen dize hakkında bir şey söylüyor
mkoryak

2
bunu da yapıyor: len = $('#selector').is('div') ? "someString".length : 0ve aynı mantıklı ...
mkoryak

ama bu hala sadece javascript kullanıyor değil mi? @Artem Barger'ın cevabı ile aynı
Malcolm Salvador

41

jQuery bir JavaScript kütüphanesidir.

Temel bir JavaScript dize nesnesi özelliği olduğundan, bir dizenin uzunluğunu elde etmek için jQuery kullanmanıza gerek yoktur.

somestring.length;

13
'JQuery bir JavaScript kitaplığıdır' satırını eklemek için +1. Birçok cevap jQuery'ye ihtiyacınız olmadığını söylüyor, ancak bu 'jQuery' ve 'JavaScript'in iki farklı şey olduğunu düşünen bir kişi için kafa karıştırıcı olabilir.
Grant Wagner

22

HTML

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

SENARYO

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

SONUÇ

10


20

Jquery kullanmanıza gerek yok.

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

n 3 olacaktır.


19

Biraz önemli bir ayrım, öğenin bir girdi olup olmamasıdır. Bir giriş kullanabiliyorsanız:

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

aksi halde öğe, paragraf veya liste öğesi div vb.Gibi farklı bir html öğesiyse,

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

1
Bu sorunun cevabı doğru! Burada gerçekten tanımlanır, "girdi alanı" veya "metin" değerinin uzunluğunu nasıl alır. Ek olarak, html uzunluğu elde etmek mümkündür $('#selector').html().length.
Eugen

13

İhtiyacınız olan jquery değil, JS:

alert(str.length);


1

JQuery'de:

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

VEYA

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

JS'de:

var len = str.len;

1

Bazı durumlarda String.length , ekranda görünen gerçek karakter sayısından farklı bir değer döndürebilir (örneğin, bazı emojiler 2 UTF-16 birimi tarafından kodlanır):

MDN diyor ki : Bu özellik , dizedeki kod birimi sayısını döndürür . JavaScript tarafından kullanılan dize biçimi olan UTF-16, en yaygın karakterleri temsil etmek için tek bir 16 bit kod birimi kullanır, ancak daha az kullanılan karakterler için iki kod birimi kullanması gerekir, bu nedenle uzunluğa döndürülen değerin dizedeki gerçek karakter sayısıyla eşleşmiyor .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.