Comment puis-je obtenir la longueur du texte entré dans une zone de texte à l'aide de jQuery?


138

Comment puis-je obtenir la longueur du texte entré dans une zone de texte à l'aide de jQuery?



1
Parfois, «essayer» signifie googler.
zundi

2
@sandy I get this from Googling ..;)
ihsan

1
@Qwerty J'ai cherché la même question sur Google et j'ai obtenu cette page.
Izzy

@Izzy C'est très bien, puisque cette question est assez ancienne pour apparaître dans les résultats Google. Par là, je vous présente l'un des vampires d'aide les plus connus de SO.
Qwerty

Réponses:



104

Si votre zone de texte a un attribut id "mytextbox", vous pouvez obtenir la longueur comme ceci:

var myLength = $("#mytextbox").val().length;
  • $("#mytextbox") trouve la zone de texte par son identifiant.
  • .val() obtient la valeur de l'élément d'entrée entré par l'utilisateur, qui est une chaîne.
  • .length obtient le nombre de caractères de la chaîne.

27
Votez parce que vous avez expliqué ce que tout cela fait, pas jsut fourni le code.

Si votre champ de texte n'a pas d'identifiant, vous pouvez le référencer par son nom. Do a$("input[name='myinputname']").val().length;
TARKUS

10

Pour moi, ce n'est pas une zone de texte, c'est une balise span et cela a fonctionné pour moi.

var len = $("span").text().length;

3

Le code mentionné ci-dessous fonctionne parfaitement pour prendre la longueur de tous les caractères saisis dans la zone de texte.

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


2

CODE

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

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

    if (taille > 9) {

//TODO

}

});

1

Vous devez uniquement saisir l'élément avec un sélecteur jQuery approprié, puis la .val()méthode pour obtenir la chaîne contenue dans la zone de texte d'entrée, puis appeler le .lengthsur cette chaîne.

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

Cependant, sachez que si le sélecteur correspond à plusieurs entrées, .val()ne renverra que la valeur de la première zone de texte. Vous pouvez également modifier le sélecteur pour obtenir un élément plus spécifique, mais gardez le :textpour vous assurer qu'il s'agit d'une zone de texte d'entrée.

Sur une autre note, pour obtenir la longueur d'une chaîne contenue dans un autre élément non-input, vous pouvez utiliser la .text()fonction pour obtenir la chaîne, puis l' utiliser .lengthsur cette chaîne pour trouver sa longueur.


1
-1 Vous vous trompez, il ne renvoie que la longueur de la toute première valeur de la zone de saisie. jsfiddle.net/8Khzf
nyuszika7h

Merci beaucoup. C'est utile. J'apprends une nouvelle façon de vérifier le type d'entrée. avant de voir votre réponse, j'étais habitué à $ ("input [type = 'text']").
Zohaib
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.