Como você obtém o comprimento de uma string no jQuery?
Como você obtém o comprimento de uma string no jQuery?
Respostas:
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
}
"𠮷".length == 2
. Como podemos obter o número real de caracteres?
A maneira mais fácil:
$('#selector').val().length
:input
valor
len = $('#selector').is('div') ? "someString".length : 0
e faz tanto sentido ...
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;
Você não precisa usar o jquery.
var myString = 'abc';
var n = myString.length;
n será 3.
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;
$('#selector').html().length
.
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;
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 .