Saat mengerjakan sebuah proyek, saya menulis js untuk semua orang. Mengenai masalah pembatasan jumlah karakter dalam teks, sering kali digunakan dalam pengembangan aktual; masalah utama terjadi pada pembatasan bahasa Mandarin. Kode berikut menyelesaikan masalah verifikasi pembatasan jumlah byte; js dan Perkenalkan ke halaman verifikasi dan Anda dapat menggunakannya! Pada saat yang sama, saya harap semua orang akan memberikan Anda dukungan kuat dan pendapat yang berharga. Saya akan menerbitkan lebih banyak artikel bagus di waktu luang saya di masa depan, terima kasih!!
Berikut kutipannya:
/*
nilai: nilai;
byteLength: panjang byte basis data
judul: bidang nama Cina
atribut: nama atribut
Petunjuk Penggunaan:
Tambahkan (1) onkeyup="limitLength(this.value,100,'name','name')"
(2) id="nama" atau [tag penyangga] styleId="nama"
Catatan: nama id dan nama atribut atribut harus sama
Contoh: <textarea name="explain" id="explain" onkeyup="limitLength(value,5,'semanticexplanation','explain')" >
atau
<input type="text" name="explain" id="explain" onkeyup="limitLength(value,5,'penjelasan semantik','explain')" >
*/
fungsi limitLength(nilai, byteLength, judul, atribut) {
var nilai baru = nilai.ganti(/[^x00-xff]/g, "**");
var panjang = nilai baru.panjang;
//Ketika jumlah byte yang diisi kurang dari jumlah byte yang ditetapkan
if (panjang * 1 <=byteLength * 1){
kembali;
}
var limitDate = nilai baru.substr(0, byteLength);
var hitungan = 0;
var nilai batas = "";
for (var i = 0; i < limitDate.length; i++) {
var flat = limitDate.substr(i, 1);
jika (datar == "*") {
hitung++;
}
}
ukuran var = 0;
var istar = newvalue.substr(byteLength * 1 - 1, 1);//Apakah titik pemeriksaannya adalah "×"
//jika titik alasnya adalah ×; tentukan apakah terdapat × pada titik alas tersebut, apakah bilangan genap atau bilangan ganjil
jika (hitung % 2 == 0) {
//Jika bilangan genap
ukuran = hitungan / 2 + (byteLength * 1 - hitungan);
limitvalue = nilai.substr(0, ukuran);
} kalau tidak {
//Jika bilangan ganjil
ukuran = (hitungan - 1) / 2 + (byteLength * 1 - hitungan);
limitvalue = nilai.substr(0, ukuran);
}
alert(title + "Masukan maksimum" + byteLength + "bytes (setara dengan "+byteLength /2+" karakter Cina)!");
document.getElementById(atribut).nilai = nilai batas;
kembali;
}