Come si ottiene la lunghezza di una stringa in jQuery?
Come si ottiene la lunghezza di una stringa in jQuery?
Risposte:
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
}
"𠮷".length == 2
. Come possiamo ottenere il numero effettivo di caratteri?
La via più facile:
$('#selector').val().length
:input
valore
len = $('#selector').is('div') ? "someString".length : 0
e ha lo stesso senso ...
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;
Non è necessario utilizzare jquery.
var myString = 'abc';
var n = myString.length;
n sarà 3.
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;
$('#selector').html().length
.
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;
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 .