عند العمل في مشروع ما، أكتب قطعة JS للجميع. فيما يتعلق بمشكلة الحد من عدد الأحرف في النص، غالبًا ما يتم استخدامها في التطوير الفعلي؛ المشكلة الرئيسية تحدث في تقييد اللغة الصينية. الكود التالي يحل مشكلة التحقق من الحد من عدد البايتات؛ ملف js وأدخله في صفحة التحقق ويمكنك استخدامه في الوقت نفسه، آمل أن يقدم لك الجميع دعمًا قويًا وآراء قيمة، وسأنشر المزيد من المقالات الجيدة في وقت فراغي في المستقبل، شكرًا لك.
ما يلي هو الاقتباس:
/*
القيمة: القيمة؛
byteLength: طول بايت قاعدة البيانات
العنوان: اسم الحقل الصيني
السمة: اسم السمة
تعليمات الاستخدام:
إضافة (1) onkeyup="limitLength(this.value,100,'name','name')"
(2) معرف = "اسم" أو [علامة الدعامات] styleId = "اسم"
ملاحظة: يجب أن يكون اسم المعرف واسم سمة السمة متماثلين
مثال: <textarea name="explain" id="explain" onkeyup="limitLength(value,5,'semantic explanation','explain')" >
أو
<input type = "text" name = "explain" id = "explain" onkeyup = "limitLength (value، 5،'semantic explanation'،'explain')" >
*/
وظيفة LimitLength(value, byteLength, title, attribute) {
var newvalue = value.replace(/[^x00-xff]/g, "**");
طول فار = newvalue.length;
// عندما يكون عدد البايتات المملوءة أقل من العدد المحدد للبايتات
إذا (الطول * 1 <=طول البايت * 1){
يعود؛
}
var LimitDate = newvalue.substr(0, byteLength);
عدد فار = 0؛
var Limitvalue = "";
لـ (var i = 0; i < LimitDate.length; i++) {
فار مسطح = LimitDate.substr(i, 1);
إذا (مسطحة == "*") {
العد++;
}
}
حجم فار = 0؛
var istar = newvalue.substr(byteLength * 1 - 1, 1);// ما إذا كانت نقطة التحقق هي "×"
// إذا كانت نقطة الأساس هي ×؛ حدد ما إذا كان هناك × في نقطة الأساس، سواء كان رقمًا زوجيًا أم فرديًا
إذا (العدد % 2 == 0) {
// عندما يكون رقمًا زوجيًا
الحجم = العد / 2 + (طول البايت * 1 - العد)؛
Limitvalue = value.substr(0, size);
} آخر {
// عندما يكون رقمًا فرديًا
الحجم = (العدد - 1) / 2 + (طول البايت * 1 - العدد)؛
Limitvalue = value.substr(0, size);
}
تنبيه (العنوان + "الحد الأقصى للإدخال" + byteLength + "بايت (أي ما يعادل "+byteLength /2+" الأحرف الصينية)!");
document.getElementById(attribute).value = Limitvalue;
يعود؛
}