Wenn ich an einem Projekt arbeite, schreibe ich für jeden ein Stück JS. Was das Problem der Begrenzung der Anzahl der Zeichen im Text betrifft, so wird es in der tatsächlichen Entwicklung häufig verwendet. Der folgende Code löst das Überprüfungsproblem, indem die Anzahl der Bytes auf a begrenzt wird js-Datei und fügen Sie sie in die Verifizierungsseite ein und Sie können sie verwenden. Gleichzeitig hoffe ich, dass Sie in Zukunft weitere gute Artikel veröffentlichen werden. Vielen Dank!
Das Folgende ist ein Zitat:
/*
Wert: Wert;
byteLength: Datenbankbytelänge
Titel: Feld chinesischer Name
Attribut: Attributname
Gebrauchsanweisung:
Hinzufügen (1) onkeyup="limitLength(this.value,100,'name','name')"
(2) id="name" oder [struts tag] styleId="name"
Hinweis: Der ID-Name und der Attributattributname müssen identisch sein
Beispiel: <textarea name="explain" id="explain" onkeyup="limitLength(value,5,'semantische Erklärung','explain')" >
oder
<input type="text" name="explain" id="explain" onkeyup="limitLength(value,5,'semantische Erklärung','explain')" >
*/
Funktion limitLength(value, byteLength, title, attribute) {
var newvalue = value.replace(/[^x00-xff]/g, "**");
var length = newvalue.length;
//Wenn die Anzahl der ausgefüllten Bytes kleiner ist als die festgelegte Anzahl von Bytes
if (length * 1 <=byteLength * 1){
zurückkehren;
}
var limitDate = newvalue.substr(0, byteLength);
Var-Anzahl = 0;
var limitvalue = "";
for (var i = 0; i < limitDate.length; i++) {
var flat = limitDate.substr(i, 1);
if (flat == "*") {
count++;
}
}
Var-Größe = 0;
var istar = newvalue.substr(byteLength * 1 - 1, 1);//Ob der Prüfpunkt „ד ist
//Wenn der Basispunkt × ist; bestimmen Sie, ob es ein × im Basispunkt gibt, ob es eine gerade Zahl oder eine ungerade Zahl ist
if (count % 2 == 0) {
//Wenn es eine gerade Zahl ist
size = count / 2 + (byteLength * 1 - count);
limitvalue = value.substr(0, size);
} anders {
//Wenn es eine ungerade Zahl ist
size = (count - 1) / 2 + (byteLength * 1 - count);
limitvalue = value.substr(0, size);
}
warning(title + „Maximale Eingabe“ + byteLength + „Bytes (entspricht „+byteLength /2+“ chinesischen Zeichen)!“);
document.getElementById(attribute).value = limitvalue;
zurückkehren;
}