Come posso ottenere la lunghezza del testo inserito in una casella di testo usando jQuery?


138

Come posso ottenere la lunghezza del testo inserito in una casella di testo usando jQuery?



1
A volte "provare" significa cercare su Google.
zundi,

2
@sandy Ho capito da Google ...;)
ihsan,

1
@Qwerty Ho cercato su Google per la stessa domanda e ho ottenuto questa pagina.
Izzy,

@Izzy Va bene, dal momento che questa domanda è abbastanza vecchia per aumentare i risultati di Google. Con ciò ti presento uno dei vampiri di aiuto più noti di SO.
Qwerty,

Risposte:



104

Se la tua casella di testo ha un attributo id di "mytextbox", puoi ottenere la lunghezza in questo modo:

var myLength = $("#mytextbox").val().length;
  • $("#mytextbox") trova la casella di testo in base al suo ID.
  • .val() ottiene il valore dell'elemento di input inserito dall'utente, che è una stringa.
  • .length ottiene il numero di caratteri nella stringa.

27
Vota perché hai spiegato cosa fa tutto, non jsut ha fornito il codice.

Se il tuo campo di testo non ha un ID, puoi fare riferimento per nome. Fai un$("input[name='myinputname']").val().length;
TARKUS il

10

Per me non è una casella di testo è un tag span e questo ha funzionato per me.

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

3

Il codice sotto indicato funziona perfettamente per prendere la lunghezza di qualsiasi carattere inserito nella casella di testo.

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


2

CODICE

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

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

    if (taille > 9) {

//TODO

}

});

1

Devi solo prendere l'elemento con un selettore jQuery appropriato e quindi il .val()metodo per ottenere la stringa contenuta nella casella di testo di input e quindi chiamare il .lengthsu quella stringa.

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

Tuttavia, tieni presente che se il selettore corrisponde a più input, .val()restituirà solo il valore della prima casella di testo. È inoltre possibile modificare il selettore per ottenere un elemento più specifico, ma mantenere il :textper assicurarsi che sia una casella di testo di input.

In un'altra nota, per ottenere la lunghezza di una stringa contenuta in un altro, elemento non di input, è possibile utilizzare la .text()funzione per ottenere la stringa e quindi utilizzare .lengthil che stringa per trovare la sua lunghezza.


1
-1 Ti sbagli, restituisce solo la lunghezza del primo valore della casella di input. jsfiddle.net/8Khzf
nyuszika7h

Molte grazie. È utile. Imparo un nuovo modo per verificare il tipo di input. prima di vedere la tua risposta ero abituato a $ ("input [type = 'text']").
Zohaib,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.