Работая над проектом, я пишу для каждого кусок js. Что касается проблемы ограничения количества символов в тексте, она часто используется в реальной разработке; основная проблема возникает при ограничении китайского языка. Следующий код решает проблему проверки ограничения количества байтов; js и добавьте его на страницу проверки, и вы сможете его использовать! В то же время я надеюсь, что все окажут вам сильную поддержку и ценные мнения. В будущем я буду публиковать больше хороших статей, спасибо !!
Ниже приводится цитата:
/*
ценность: ценность;
byteLength: длина базы данных в байтах
заголовок: поле китайского имени
атрибут: имя атрибута
Инструкция по применению:
Добавить (1) onkeyup="limitLength(this.value,100,'name','name')"
(2) id="имя" или [тег Struts] styleId="имя"
Примечание. Имя идентификатора и имя атрибута атрибута должны совпадать.
Пример: <textarea name="explain" id="explain" onkeyup="limitLength(value,5,'семантическое объяснение','explain')" >
или
<input type="text" name="explain" id="explain" onkeyup="limitLength(value,5,'семантическое объяснение','explain')" >
*/
функция limitLength (значение, byteLength, заголовок, атрибут) {
var newvalue = value.replace(/[^x00-xff]/g, "**");
длина вар = новое значение.длина;
//Когда количество заполняемых байтов меньше заданного количества байтов
если (длина * 1 <=byteLength * 1){
возвращаться;
}
вар limitDate = newvalue.substr(0, byteLength);
количество вар = 0;
вар limitvalue = "";
for (var я = 0; я <limitDate.length; я++) {
вар квартира = limitDate.substr(i, 1);
если (плоский == "*") {
считать++;
}
}
размер вар = 0;
var istar = newvalue.substr(byteLength * 1 - 1, 1); // Является ли контрольная точка «×»
//если базовая точка ×; определить, есть ли × в базовой точке, четное это число или нечетное число
если (счет % 2 == 0) {
//Когда это четное число
размер = количество/2 + (длина байта * 1 — количество);
предельное значение = значение.substr(0, размер);
} еще {
//Когда это нечетное число
размер = (количество — 1)/2 + (длина байта * 1 — количество);
предельное значение = значение.substr(0, размер);
}
alert(title + «Максимальный ввод» + byteLength + «байты (эквивалент китайских иероглифов «+byteLength /2+»)!»);
document.getElementById(атрибут).value = предельное значение;
возвращаться;
}