เมื่อทำงานในโครงการ ฉันจะเขียน js ให้กับทุกคน เกี่ยวกับปัญหาการจำกัดจำนวนอักขระในข้อความ มักใช้ในการพัฒนาจริง ปัญหาหลักเกิดขึ้นในข้อจำกัดของภาษาจีน รหัสต่อไปนี้แก้ปัญหาการตรวจสอบการจำกัดจำนวนไบต์ เพียงบันทึกรหัสนี้ลงใน js และแนะนำลงในหน้าการยืนยันและคุณสามารถใช้มันได้ ขณะเดียวกัน ฉันหวังว่าทุกคนจะให้การสนับสนุนและความคิดเห็นอันมีค่าแก่คุณ ฉันจะเผยแพร่บทความดีๆ เพิ่มเติมในเวลาว่างในอนาคต ขอบคุณ!!
ต่อไปนี้เป็นคำพูด:
-
ความคุ้มค่า: ความคุ้มค่า;
byteLength: ความยาวไบต์ของฐานข้อมูล
หัวเรื่อง: ฟิลด์ชื่อภาษาจีน
คุณลักษณะ: ชื่อคุณลักษณะ
คำแนะนำสำหรับการใช้งาน:
เพิ่ม (1) onkeyup="limitLength(this.value,100,'name','name')"
(2) id="name" หรือ [แท็กสตรัท] styleId="name"
หมายเหตุ: ชื่อรหัสและชื่อแอตทริบิวต์แอตทริบิวต์จะต้องเหมือนกัน
ตัวอย่าง: <textarea name="explain" id="explain" onkeyup="limitLength(value,5,'semantic description','explain')">
หรือ
<input type="text" name="explain" id="explain" onkeyup="limitLength(value,5,'semantic description','explain')">
-
ฟังก์ชั่น LimitLength (ค่า, byteLength, ชื่อ, คุณลักษณะ) {
var newvalue = value.replace(/[^x00-xff]/g, "**");
ความยาว var = newvalue.length;
//เมื่อจำนวนไบต์ที่กรอกน้อยกว่าจำนวนไบต์ที่ตั้งไว้
ถ้า (ความยาว * 1 <=byteLength * 1){
กลับ;
-
varlimitDate = newvalue.substr(0, byteLength);
จำนวนนับ = 0;
var ขีดจำกัดค่า = "";
สำหรับ (var i = 0; i <limitDate.length; i++) {
var flat =limitDate.substr(i, 1);
ถ้า (แบน == "*") {
นับ++;
-
-
ขนาดวาร์ = 0;
var istar = newvalue.substr(byteLength * 1 - 1, 1);//ไม่ว่าจุดตรวจสอบจะเป็น "×" หรือไม่
// ถ้าจุดฐานคือ ×; ตรวจสอบว่ามี x อยู่ที่จุดฐานหรือไม่ ไม่ว่าจะเป็นเลขคู่หรือเลขคี่
ถ้า (นับ % 2 == 0) {
//เมื่อเป็นเลขคู่
ขนาด = นับ / 2 + (byteLength * 1 - นับ);
ค่าจำกัด = value.substr(0, ขนาด);
} อื่น {
//เมื่อเป็นเลขคี่
ขนาด = (นับ - 1) / 2 + (byteLength * 1 - นับ);
ค่าจำกัด = value.substr(0, ขนาด);
-
alert(title + "อินพุตสูงสุด" + byteLength + "bytes (เทียบเท่ากับ "+byteLength /2+" ตัวอักษรจีน)!");
document.getElementById(แอตทริบิวต์).value = ค่าจำกัด;
กลับ;
-