Come si ottiene la lunghezza di una stringa?


Risposte:


471

Non hai bisogno di jquery, basta usare yourstring.length. Vedi riferimento qui e anche qui .

Aggiornamento :

Per supportare le stringhe unicode, la lunghezza deve essere calcolata come segue:

[..."𠮷"].length

o creare una funzione ausiliaria

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

6
Anch'io, oh gioie di SO.
karim79,

11
Scommetto che è solo competizione. : D
Arnis Lapsa,

11
Artem Barger - probabilmente perché ha chiesto di usare Jquery.
ciclico

2
Artem Barger - probabilmente perché stava cercando la mia stessa cosa: un modo per ottenere la lunghezza del testo contenuto in un tag HTML. Sono un principiante, quindi ho saputo ottenere il contenuto ma non la sua lunghezza. In tal senso, la risposta della genesi di seguito è migliore.
Adrian Pauly,

1
"𠮷".length == 2. Come possiamo ottenere il numero effettivo di caratteri?
Pierre Thibault,

196

La via più facile:

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

37
l'unica risposta che risponde alla domanda come posta.
mtntrailrunner,

5
come va? in nessun punto della domanda dice qualcosa sulla stringa proveniente da un :inputvalore
mkoryak,

2
così fa questo: len = $('#selector').is('div') ? "someString".length : 0e ha lo stesso senso ...
mkoryak il

ma questo usa ancora javascript, no? uguale alla risposta di @Artem Barger
Malcolm Salvador,

41

jQuery è una libreria JavaScript.

Non è necessario utilizzare jQuery per ottenere la lunghezza di una stringa perché è una proprietà dell'oggetto stringa di base JavaScript.

somestring.length;

13
+1 per includere la riga "jQuery è una libreria JavaScript". Molte risposte dicono che non hai bisogno di jQuery, ma ciò potrebbe confondere una persona che pensa che "jQuery" e "JavaScript" siano due cose diverse.
Grant Wagner,

22

HTML

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

SCRIPT

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

RISULTATO

10


20

Non è necessario utilizzare jquery.

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

n sarà 3.


19

Una distinzione in qualche modo importante è se l'elemento è un input o meno. Se un input è possibile utilizzare:

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

altrimenti se l'elemento è un diverso elemento html come un paragrafo o una voce di elenco div etc, è necessario utilizzare

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

1
È la risposta giusta per questa domanda! Qui è veramente definito, come ottiene una lunghezza di "campo di input" o valore "testo". Inoltre è possibile ottenere la lunghezza html, come $('#selector').html().length.
Eugen,

13

Non è necessario jquery, è JS:

alert(str.length);

12

allo stesso modo in cui lo fai in javascript:

"something".length


1

In 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

In JS:

var len = str.len;

1

In alcuni casi String.length potrebbe restituire un valore diverso dal numero effettivo di caratteri visibili sullo schermo (ad esempio alcuni emoji sono codificati da 2 unità UTF-16):

MDN dice : Questa proprietà restituisce il numero di unità di codice nella stringa. UTF-16, il formato stringa utilizzato da JavaScript, utilizza una singola unità di codice a 16 bit per rappresentare i caratteri più comuni, ma deve utilizzare due unità di codice per i caratteri meno comunemente utilizzati, quindi è possibile che il valore restituito per lunghezza a non corrisponde al numero effettivo di caratteri nella stringa .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.