Como você obtém o comprimento de uma string?


Respostas:


471

Você não precisa de jquery, apenas use yourstring.length. Veja a referência aqui e também aqui .

Atualização :

Para oferecer suporte a cadeias unicode, o comprimento precisa ser calculado da seguinte maneira:

[..."𠮷"].length

ou criar uma função auxiliar

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

6
Eu também estava, oh as alegrias de SO.
karim79

11
Aposto que é apenas competição. : D
Arnis Lapsa

11
Artem Barger - provavelmente porque ele perguntou sobre o uso do Jquery.
cíclico

2
Artem Barger - provavelmente porque ele estava procurando a mesma coisa que eu: uma maneira de obter o comprimento do texto contido em uma tag HTML. Como sou iniciante, sabia como obter o conteúdo, mas não o comprimento. Nesse sentido, a resposta da gênese abaixo é melhor.
Adrian Pauly

1
"𠮷".length == 2. Como podemos obter o número real de caracteres?
Pierre Thibault

196

A maneira mais fácil:

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

37
a única resposta que responde à pergunta, conforme solicitado.
mtntrailrunner

5
como é isso? não onde a questão é que ele diz alguma coisa sobre a corda vindo de um :inputvalor
mkoryak

2
o mesmo acontece com esta: len = $('#selector').is('div') ? "someString".length : 0e faz tanto sentido ...
mkoryak

mas isso ainda usa javascript, não é? mesmo que a resposta de @Artem Barger #
Malcolm Salvador

41

jQuery é uma biblioteca JavaScript.

Você não precisa usar o jQuery para obter o comprimento de uma sequência, pois é uma propriedade básica do objeto de sequência JavaScript.

somestring.length;

13
+1 por incluir a linha 'jQuery é uma biblioteca JavaScript'. Muitas respostas estão dizendo que você não precisa do jQuery, mas isso pode ser confuso para uma pessoa que pensa que 'jQuery' e 'JavaScript' são duas coisas diferentes.
Grant Wagner

22

HTML

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

ROTEIRO

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

RESULTADO

10


20

Você não precisa usar o jquery.

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

n será 3.


19

Uma distinção um tanto importante é se o elemento é uma entrada ou não. Se uma entrada você pode usar:

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

caso contrário, se o elemento for um elemento html diferente, como um parágrafo ou item de lista div etc, você deverá usar

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

1
É a resposta certa para esta pergunta! Aqui está realmente definido, como obtém um comprimento do valor "campo de entrada" ou "texto". Adicional, é possível obter comprimento html, como $('#selector').html().length.
Eugen

13

Não é jquery que você precisa, é JS:

alert(str.length);

12

Da mesma forma que você faz em javascript:

"something".length


1

No jQuery:

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

OU

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

Em JS:

var len = str.len;

1

Em alguns casos, String.length pode retornar um valor diferente do número real de caracteres visíveis na tela (por exemplo, alguns emojis são codificados por 2 unidades UTF-16):

MDN diz : Esta propriedade retorna o número de unidades de código na cadeia. UTF-16, o formato de string usado pelo JavaScript, usa uma única unidade de código de 16 bits para representar os caracteres mais comuns, mas precisa usar duas unidades de código para caracteres menos usados, portanto , é possível que o valor retornado por tamanho seja não corresponde ao número real de caracteres na sequência .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.