Làm thế nào để bạn có được chiều dài của một chuỗi?


Câu trả lời:


471

Bạn không cần jquery, chỉ cần sử dụng yourstring.length. Xem tài liệu tham khảo ở đây và cũng ở đây .

Cập nhật :

Để hỗ trợ các chuỗi unicode, độ dài cần được tính như sau:

[..."𠮷"].length

hoặc tạo một chức năng phụ trợ

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

6
Tôi cũng vậy, ôi niềm vui của SO.
karim79

11
Tôi cá rằng đó chỉ là sự cạnh tranh. : D
Arnis Lapsa

11
Artem Barger - có lẽ vì anh ta hỏi về việc sử dụng Jquery.
theo chu kỳ

2
Artem Barger - có lẽ bởi vì anh ta đang tìm kiếm điều tương tự như tôi: một cách để có được độ dài của văn bản có trong thẻ HTML. Tôi là người mới bắt đầu nên tôi biết cách lấy nội dung nhưng không phải nội dung. Theo nghĩa đó, câu trả lời của genesis dưới đây là tốt hơn.
Adrian Pauly

1
"𠮷".length == 2. Làm thế nào chúng ta có thể có được số lượng nhân vật thực tế?
Pierre Thibault

196

Cách dễ nhất:

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

37
câu trả lời duy nhất trả lời câu hỏi khi được hỏi
mtntrailrunner

5
làm như thế nào? không có nơi nào trong câu hỏi anh ta nói bất cứ điều gì về chuỗi đến từ một :inputgiá trị
mkoryak

2
cái này cũng vậy: len = $('#selector').is('div') ? "someString".length : 0và có ý nghĩa nhiều như vậy ...
mkoryak

Nhưng điều này vẫn chỉ sử dụng javascript phải không? giống như câu trả lời của @Artem Barger's
Malcolm Salvador

41

jQuery là một thư viện JavaScript.

Bạn không cần sử dụng jQuery để có được độ dài của chuỗi vì đây là thuộc tính đối tượng chuỗi JavaScript cơ bản.

somestring.length;

13
+1 để bao gồm dòng 'jQuery là một thư viện JavaScript.' Rất nhiều câu trả lời đang nói rằng bạn không cần jQuery, nhưng điều này có thể gây nhầm lẫn cho một người nghĩ rằng 'jQuery' và 'JavaScript' là hai điều khác nhau.
Cấp Wagner

22

HTML

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

KỊCH BẢN

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

KẾT QUẢ

10


20

Bạn không cần phải sử dụng jquery.

var myString = 'abc';
var n = myString.length;

n sẽ là 3.


19

Một sự khác biệt quan trọng là nếu phần tử là một đầu vào hay không. Nếu một đầu vào bạn có thể sử dụng:

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

mặt khác, nếu phần tử là một phần tử html khác như một đoạn văn hoặc danh sách div, v.v., bạn phải sử dụng

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

1
Đó là câu trả lời đúng cho câu hỏi này! Đây là thực sự được xác định, làm thế nào có được độ dài của giá trị "trường đầu vào" hoặc "văn bản". Bổ sung có thể có được chiều dài html, như $('#selector').html().length.
Eugen

13

Đó không phải là jquery bạn cần, đó là JS:

alert(str.length);

11

giống như cách bạn làm trong javascript:

"something".length


1

Trong jQuery:

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

HOẶC LÀ

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

Trong JS:

var len = str.len;

1

Trong một số trường hợp, String.length có thể trả về một giá trị khác với số ký tự thực tế hiển thị trên màn hình (ví dụ: một số biểu tượng cảm xúc được mã hóa bởi 2 đơn vị UTF-16):

MDN nói : Thuộc tính này trả về số lượng đơn vị mã trong chuỗi. UTF-16, định dạng chuỗi được sử dụng bởi JavaScript, sử dụng một đơn vị mã 16 bit duy nhất để biểu thị các ký tự phổ biến nhất, nhưng cần sử dụng hai đơn vị mã cho các ký tự ít được sử dụng, do đó, giá trị được trả về theo độ dài không khớp với số lượng ký tự thực tế trong chuỗi .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.