คุณจะรับความยาวของสตริงใน jQuery ได้อย่างไร?
คุณจะรับความยาวของสตริงใน jQuery ได้อย่างไร?
คำตอบ:
คุณไม่จำเป็นต้อง jQuery yourstring.length
ใช้เพียง ดูการอ้างอิงที่นี่และที่นี่
อัปเดต :
ในการรองรับสตริง Unicode จำเป็นต้องคำนวณความยาวดังนี้:
[..."𠮷"].length
หรือสร้างฟังก์ชั่นเสริม
function uniLen(s) {
return [...s].length
}
"𠮷".length == 2
. เราจะได้จำนวนตัวอักษรที่แท้จริงได้อย่างไร?
วิธีที่ง่ายที่สุด:
$('#selector').val().length
:input
ค่า
len = $('#selector').is('div') ? "someString".length : 0
และทำให้รู้สึกมาก ...
jQuery เป็นห้องสมุด JavaScript
คุณไม่จำเป็นต้องใช้ jQuery เพื่อรับความยาวของสตริงเนื่องจากเป็นคุณสมบัติวัตถุสตริง JavaScript พื้นฐาน
somestring.length;
HTML
<div class="selector">Text mates</div>
SCRIPT
alert(jQuery('.selector').text().length);
ผลลัพธ์
10
คุณไม่จำเป็นต้องใช้ jquery
var myString = 'abc';
var n = myString.length;
n จะเป็น 3
ความแตกต่างที่สำคัญคือถ้าองค์ประกอบเป็นอินพุตหรือไม่ หากอินพุตคุณสามารถใช้:
$('#selector').val().length;
มิฉะนั้นหากองค์ประกอบเป็นองค์ประกอบ html ที่แตกต่างกันเช่นย่อหน้าหรือรายการในรายการ div เป็นต้นคุณต้องใช้
$('#selector').text().length;
$('#selector').html().length
เช่น
มันไม่ใช่ jquery ที่คุณต้องการมันคือ JS:
alert(str.length);
เช่นเดียวกับที่คุณทำในจาวาสคริปต์:
"something".length
ใน 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;
ในบางกรณีString.lengthอาจส่งคืนค่าซึ่งแตกต่างจากจำนวนอักขระที่แท้จริงที่ปรากฏบนหน้าจอ (เช่นอีโมจิบางตัวถูกเข้ารหัสด้วย 2 UTF-16 ยูนิต):
MDN พูดว่า : คุณสมบัตินี้ส่งคืนจำนวนหน่วยรหัสในสตริง UTF-16 ซึ่งเป็นรูปแบบสตริงที่ใช้โดย JavaScript ใช้หน่วยรหัส 16 บิตเดียวเพื่อแทนอักขระที่พบบ่อยที่สุด แต่จำเป็นต้องใช้หน่วยรหัสสองหน่วยสำหรับอักขระที่ใช้น้อยกว่าปกติดังนั้นจึงเป็นไปได้ที่ค่าที่ส่งคืนด้วยความยาวจะเป็น ไม่ตรงกับจำนวนที่แท้จริงของตัวละครในสตริง