プロジェクトに取り組むとき、私は全員のために js を書きます。テキストの文字数制限の問題については、実際の開発でよく使用されます。主な問題は中国語の制限です。次のコードは、このコードをファイルに保存するだけで、バイト数の制限に関する検証の問題を解決します。 js ファイルを作成し、検証ページに導入していただければご利用いただけます。同時に、皆様の強力なサポートと貴重なご意見をいただければ幸いです。今後も暇なときにさらに良い記事を公開していきますので、よろしくお願いします。
以下は引用です。
/*
値: 値;
byteLength: データベースのバイト長
タイトル: フィールド中国語名
属性: 属性名
使用説明書:
(1) onkeyup="limitLength(this.value,100,'name','name')" を追加します。
(2) id="name" または [struts タグ] styleId="name"
注: ID 名と属性属性名は同じである必要があります
例: <textarea name="explain" id="explain" onkeyup="limitLength(value,5,'semantic description','explain')" >
または
<input type="text" name="explain" id="explain" onkeyup="limitLength(value,5,'意味の説明','explain')" >
*/
function limitLength(値, バイト長, タイトル, 属性) {
var newvalue = value.replace(/[^x00-xff]/g, "**");
var length = newvalue.length;
//埋められたバイト数が設定バイト数未満の場合
if (長さ * 1 <=バイト長 * 1){
戻る;
}
var limitDate = newvalue.substr(0, byteLength);
変数カウント = 0;
var 制限値 = "";
for (var i = 0; i < limitDate.length; i++) {
var flat = limitDate.substr(i, 1);
if (フラット == "*") {
カウント++;
}
}
変数サイズ = 0;
var istar = newvalue.substr(byteLength * 1 - 1, 1);//チェックポイントが「×」かどうか
//基点が×の場合、基点に×があるかどうか、それが偶数か奇数かを判定します。
if (カウント % 2 == 0) {
//偶数の場合
サイズ = カウント / 2 + (byteLength * 1 - カウント);
制限値 = value.substr(0, サイズ);
} それ以外 {
//奇数の場合
サイズ = (カウント - 1) / 2 + (バイト長 * 1 - カウント);
制限値 = value.substr(0, サイズ);
}
alert(title + "最大入力" + byteLength + "バイト数 ("+byteLength /2+" 漢字に相当)!");
document.getElementById(attribute).value = 制限値;
戻る;
}