Как я могу получить длину текста, введенного в текстовое поле, с помощью jQuery?

142

Как я могу получить длину текста, введенного в текстовое поле, с помощью jQuery?

Blankman
источник
@Izzy Все в порядке, поскольку этот вопрос достаточно старый, чтобы его можно было увидеть в результатах Google. Тем самым я представляю вам одного из самых известных вампиров-помощников SO.
Qwerty
И в этом заключается поддержка ответа, который я дал на meta.stackoverflow, который получил 39 отрицательных голосов, прежде чем он был удален статус-кво переполнения стека, где я утверждал, что даже вопросы новичка низкого качества увеличивают ценность. Я подтвержден. Им не понравился мой ответ, потому что он противоречил эго высокопоставленным участникам, которые думают, что StackOverflow - это все о них.
TARKUS

Ответы:

325
var myLength = $("#myTextbox").val().length;
Yfeldblum
источник
13
За великую справедливость ~
Vael Victus
106

Если ваше текстовое поле имеет атрибут id «mytextbox», вы можете получить длину следующим образом:

var myLength = $("#mytextbox").val().length;
  • $("#mytextbox") находит текстовое поле по его идентификатору.
  • .val() получает значение элемента ввода, введенного пользователем, которое является строкой.
  • .length получает количество символов в строке.
Джонатан Тран
источник
27
Голосуйте за, потому что вы объяснили, что все это делает, а не просто предоставили код.
Если ваше текстовое поле не имеет идентификатора, вы можете ссылаться на него по имени. Do a$("input[name='myinputname']").val().length;
TARKUS
10

Для меня это не текстовое поле, это тег диапазона, и это сработало для меня.

var len = $("span").text().length;
Рохит
источник
3

Приведенный ниже код отлично подходит для определения длины любых символов, введенных в текстовое поле.

$("#Texboxid").val().length;

Акиб Шехзад
источник
2

КОД

$('#montant-total-prevu').on("change", function() {

var taille = $('#montant-total-prevu').val().length;

    if (taille > 9) {

//TODO

}

});
Фадид
источник
1

Вам нужно только захватить элемент с помощью соответствующего селектора jQuery, а затем .val()метод, чтобы получить строку, содержащуюся в текстовом поле ввода, а затем вызвать .lengthэту строку.

$('input:text').val().length

Однако имейте в виду, что если селектор соответствует нескольким входам, .val()вернет только значение первого текстового поля . Вы также можете изменить селектор, чтобы получить более конкретный элемент, но оставьте, :textчтобы убедиться, что это текстовое поле ввода.

На другой ноте, чтобы получить длину строки , содержащейся в другом, не входной элемент, вы можете использовать .text()функцию , чтобы получить строку , а затем использовать .lengthна этой строке , чтобы найти ее длину.

Daveslab
источник
1
-1 Вы ошибаетесь, он возвращает только длину самого первого значения поля ввода. jsfiddle.net/8Khzf
nyuszika7h
Большое спасибо. Это полезно. Узнаю новый способ проверки типа ввода. прежде чем увидеть ваш ответ, я использовал $ ("input [type = 'text']").
Zohaib 07