Як ви отримуєте довжину струни?


Відповіді:


471

Вам не потрібен jquery, просто використовуйте yourstring.length. Дивіться посилання тут, а також тут .

Оновлення :

Для підтримки рядків Unicode довжину потрібно обчислити так:

[..."𠮷"].length

або створити допоміжну функцію

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

6
Я теж був, о, радощі ТАК.
karim79

11
Надіваюся, це просто конкуренція. : D
Арніс Лапса

11
Артем Баргер - напевно, тому, що він запитав про використання Jquery.
циклічний

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

1
"𠮷".length == 2. Як ми можемо отримати фактичну кількість символів?
П'єр Тібо

196

Найпростіший спосіб:

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

37
єдина відповідь, яка відповідає на запитання, як задається.
mtntrailrunner

5
як у тому, що? ні, де в запитанні він нічого не каже про рядок, що походить від :inputзначення
mkoryak

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>

СКРИПТ

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

РЕЗУЛЬТАТ

10



19

Дещо важлива відмінність - це якщо елемент є вхідним чи ні. Якщо введення, ви можете використовувати:

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

в іншому випадку, якщо цей елемент є іншим html-елементом, таким як розділ абзацу чи елемента списку тощо, потрібно використовувати

$('#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 може повернути значення, яке відрізняється від фактичної кількості символів, що відображаються на екрані (наприклад, деякі емоджі кодуються двома блоками UTF-16):

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.