¿Cómo se obtiene la longitud de una cuerda?


Respuestas:


471

No necesitas jquery, solo úsalo yourstring.length. Ver referencia aquí y también aquí .

Actualización :

Para admitir cadenas unicode, la longitud debe calcularse de la siguiente manera:

[..."𠮷"].length

o crear una función auxiliar

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

66
Yo también, oh, las alegrías de SO.
karim79

11
Apuesto a que es solo competencia. : D
Arnis Lapsa

11
Artem Barger, probablemente porque preguntó sobre el uso de Jquery.
cíclico

2
Artem Barger, probablemente porque estaba buscando lo mismo que yo: una forma de obtener la longitud del texto contenido en una etiqueta HTML. Soy un principiante, así que sabía cómo obtener el contenido pero no su longitud. En ese sentido, la respuesta de Génesis a continuación es mejor.
Adrian Pauly

1
"𠮷".length == 2. ¿Cómo podemos obtener el número real de caracteres?
Pierre Thibault,

196

La forma más fácil:

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

37
La única respuesta que responde a la pregunta formulada.
mtntrailrunner

55
¿como es eso? en ninguna parte de la pregunta dice nada sobre la cadena que proviene de un :inputvalor
mkoryak

2
este también: len = $('#selector').is('div') ? "someString".length : 0y tiene tanto sentido ...
mkoryak

pero esto todavía solo usa JavaScript, ¿no? igual que la respuesta de @Artem Barger
Malcolm Salvador

41

jQuery es una biblioteca de JavaScript.

No necesita usar jQuery para obtener la longitud de una cadena porque es una propiedad básica de objeto de cadena de JavaScript.

somestring.length;

13
+1 por incluir la línea 'jQuery es una biblioteca de JavaScript'. Muchas respuestas dicen que no necesita jQuery, pero esto puede ser confuso para una persona que piensa que 'jQuery' y 'JavaScript' son dos cosas diferentes.
Grant Wagner

22

HTML

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

GUIÓN

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

RESULTADO

10



19

Una distinción algo importante es si el elemento es una entrada o no. Si una entrada puede usar:

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

de lo contrario, si el elemento es un elemento html diferente, como un párrafo o un elemento de lista div, etc., debe usar

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

1
Es correcto ¡Respuesta para esta pregunta! Aquí está realmente definido, cómo obtiene una longitud de "campo de entrada" o valor de "texto". Adicional es posible obtener longitud html, como $('#selector').html().length.
Eugen

13

No es jquery lo que necesitas, es JS:

alert(str.length);

12

de la misma manera que lo haces en javascript:

"something".length


1

En jQuery:

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

O

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

En JS:

var len = str.len;

1

En algunos casos, String.length puede devolver un valor que es diferente del número real de caracteres visibles en la pantalla (por ejemplo, algunos emojis están codificados por 2 unidades UTF-16):

MDN dice : Esta propiedad devuelve el número de unidades de código en la cadena. UTF-16, el formato de cadena utilizado por JavaScript, usa una sola unidad de código de 16 bits para representar los caracteres más comunes, pero necesita usar dos unidades de código para los caracteres menos utilizados, por lo que es posible que el valor devuelto por la longitud sea no coincide con el número real de caracteres en la cadena .

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.