Как вы получаете длину строки?


Ответы:


471

Вам не нужно JQuery, просто используйте yourstring.length. Смотрите ссылку здесь, а также здесь .

Обновление :

Чтобы поддерживать строки Unicode, длина должна быть рассчитана следующим образом:

[..."𠮷"].length

или создайте вспомогательную функцию

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

6
Я тоже был, о, радости ТАК.
karim79

11
Могу поспорить, что это просто соревнование. : D
Арнис Лапса

11
Артем Баргер - вероятно, потому что он спросил об использовании Jquery.
Цикл

2
Артем Баргер - вероятно, потому что он искал то же самое, что и я: способ получить длину текста, содержащегося в теге HTML. Я новичок, поэтому я знал, как получить контент, но не его длину. В этом смысле ответ Genesis ниже лучше.
Адриан Поли

1
"𠮷".length == 2, Как мы можем получить фактическое количество символов?
Пьер Тибо

196

Самый простой способ:

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

37
единственный ответ, который отвечает на вопрос как задано.
mtntrailrunner

5
Как так? нет, где в вопросе он говорит что-нибудь о строке, :input
получаемой

2
так же и это: len = $('#selector').is('div') ? "someString".length : 0и имеет такой же смысл ...
mkoryak

но это все еще только использует JavaScript, не так ли? такой же, как ответ @Artem Barger
Малкольм Сальвадор

41

jQuery - это библиотека JavaScript.

Вам не нужно использовать jQuery для получения длины строки, потому что это базовое свойство строкового объекта JavaScript.

somestring.length;

13
+1 за включение строки «jQuery - библиотека JavaScript». Многие ответы говорят, что вам не нужен jQuery, но это может сбить с толку человека, который считает, что «jQuery» и «JavaScript» - это две разные вещи.
Грант Вагнер

22

HTML

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

SCRIPT

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

РЕЗУЛЬТАТ

10



19

Несколько важное различие заключается в том, является ли элемент входным или нет. Если вход вы можете использовать:

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

в противном случае, если элемент является другим html-элементом, таким как div абзаца или элемента списка и т. д., вы должны использовать

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

1
Это правильный ответ на этот вопрос! Здесь действительно определено, как получается длина «поля ввода» или «текстового» значения. Дополнительно можно получить длину html, например $('#selector').html().length.
Евгений



1

В jQuery:

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

ИЛИ

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

В JS:

var len = str.len;

1

В некоторых случаях String.length может возвращать значение, которое отличается от фактического количества символов, видимых на экране (например, некоторые смайлики кодируются 2 единицами UTF-16):

MDN говорит : это свойство возвращает количество единиц кода в строке. UTF-16, строковый формат, используемый JavaScript, использует одну 16-битную кодовую единицу для представления наиболее распространенных символов, но ему нужно использовать две кодовые единицы для менее часто используемых символов, поэтому возможно, чтобы значение, возвращаемое длиной для не соответствует фактическому количеству символов в строке .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.