Cuando trabajo en un proyecto, escribo un fragmento de js para todos. Con respecto al problema de limitar la cantidad de caracteres en el texto, se usa a menudo en el desarrollo real; el problema principal ocurre en la restricción del chino. El siguiente código resuelve el problema de verificación de limitar la cantidad de bytes; js e introdúzcalo en la página de verificación y podrá usarlo. Al mismo tiempo, espero que todos le brinden un gran apoyo y opiniones valiosas. Publicaré más artículos buenos en mi tiempo libre en el futuro, ¡gracias!
La siguiente es una cita:
/*
valor: valor;
byteLength: longitud en bytes de la base de datos
título: campo nombre chino
atributo: nombre del atributo
Instrucciones de uso:
Agregue (1) onkeyup="limitLength(this.value,100,'name','name')"
(2) id="nombre" o [etiqueta struts] styleId="nombre"
Nota: el nombre de identificación y el nombre del atributo del atributo deben ser iguales
Ejemplo: <textarea name="explicar" id="explicar" onkeyup="limitLength(valor,5,'explicación semántica','explicar')" >
o
<tipo de entrada="texto" nombre="explicar" id="explicar" onkeyup="limitLength(valor,5,'explicación semántica','explicar')" >
*/
función limitLength(valor, byteLength, título, atributo) {
var nuevovalor = valor.replace(/[^x00-xff]/g, "**");
var longitud = nuevo valor.longitud;
//Cuando el número de bytes completados es menor que el número de bytes establecido
si (longitud * 1 <=byteLongitud * 1){
devolver;
}
var limitDate = newvalue.substr(0, byteLength);
recuento de variables = 0;
valor límite var = "";
for (var i = 0; i < limitDate.length; i++) {
var plano = limitDate.substr(i, 1);
si (plano == "*") {
contar++;
}
}
tamaño var = 0;
var istar = newvalue.substr(byteLength * 1 - 1, 1);// Si el punto de control es "×"
//si el punto base es × determina si hay un × en el punto base, si es un número par o impar;
si (cuenta % 2 == 0) {
//Cuando es un número par
tamaño = recuento / 2 + (byteLongitud * 1 - recuento);
valor límite = valor.substr(0, tamaño);
} demás {
//Cuando es un número impar
tamaño = (recuento - 1) / 2 + (byteLongitud * 1 - recuento);
valor límite = valor.substr(0, tamaño);
}
alert(title + "Entrada máxima" + byteLength + "bytes (equivalente a "+byteLength /2+" caracteres chinos)!");
document.getElementById(atributo).valor = valor límite;
devolver;
}