Lorsque je travaille sur un projet, j'écris un morceau de js pour tout le monde. Concernant le problème de la limitation du nombre de caractères dans le texte, il est souvent utilisé dans le développement réel ; le problème principal se produit dans la restriction du chinois. Le code suivant résout le problème de vérification de la limitation du nombre d'octets ; js et présentez-le dans la page de vérification et vous pourrez l'utiliser ! En même temps, j'espère que tout le monde vous apportera un soutien solide et des opinions précieuses. Je publierai plus de bons articles pendant mon temps libre à l'avenir, merci !!
Ce qui suit est une citation :
/*
valeur : valeur ;
byteLength : longueur en octets de la base de données
titre : champ nom chinois
attribut : nom de l'attribut
Mode d'emploi :
Ajouter (1) onkeyup="limitLength(this.value,100,'name','name')"
(2) id="nom" ou [balise struts] styleId="nom"
Remarque : le nom de l'identifiant et le nom de l'attribut doivent être identiques.
Exemple : <textarea name="explain" id="explain" onkeyup="limitLength(value,5,'semantic explication','explain')" >
ou
<input type="text" name="explain" id="explain" onkeyup="limitLength(value,5,'semantic explication','explain')" >
*/
function limitLength (valeur, byteLength, titre, attribut) {
var newvalue = valeur.replace(/[^x00-xff]/g, "**");
var longueur = nouvelle valeur.longueur;
//Lorsque le nombre d'octets renseignés est inférieur au nombre d'octets défini
si (longueur * 1 <=byteLength * 1){
retour;
}
var limitDate = newvalue.substr(0, byteLength);
nombre de variables = 0 ;
var valeur limite = "";
pour (var i = 0; i < limitDate.length; i++) {
var flat = limitDate.substr(i, 1);
si (plat == "*") {
compte++;
}
}
taille variable = 0 ;
var istar = newvalue.substr(byteLength * 1 - 1, 1);//Si le point de contrôle est "×"
//si le point de base est × ; détermine s'il y a un × dans le point de base, s'il s'agit d'un nombre pair ou impair.
si (compte % 2 == 0) {
//Quand c'est un nombre pair
size = nombre / 2 + (byteLength * 1 - nombre) ;
valeur limite = valeur.substr(0, taille);
} autre {
//Quand c'est un nombre impair
size = (count - 1) / 2 + (byteLength * 1 - count);
valeur limite = valeur.substr(0, taille);
}
alert(titre + "Entrée maximale" + byteLength + "octets (équivalent à "+byteLength /2+" caractères chinois)!");
document.getElementById(attribute).value = valeur limite;
retour;
}