jQuery Chinese Characters Length Limit Plugin 1.0

Standard

終於試著寫一個 jQuery Plugin,功能是限制 input 或 textarea 中的文字長度,同時可針對中英文做不同的字元計算,中文時算為 2 字元、英文時則算 1 字元。

使用方法:

Basic:

$(document).ready(function () {
    $('目標對象').ChineseLengthLimit();
});

Advanced:

$(document).ready(function () {
    $('目標對象').ChineseLengthLimit({
        limitCount: 11,
        isByte: true,
        callback: function (data) {
            $("#msg").html("目前輸入:" + data.input + "/" + data.max + " 還剩:" + data.left + "字元");
        }
    });
});


下面是可以調整的選項:

Options Description
limitCount 最大長度限制。預設值為 10。若目標對象有 maxlength 屬性,則以此數字限制。但若在 $(目標對象).ChineseLengthLimit( opts ) 中有傳入字數限制,則以此設定為最優先。
isByte 是否採用位元限制。預設值為 true。若採用,則會以中文字以 2 字元、英文字以 1 字元的方式計算。
callback 當 keyup 與 paste 事件觸發時,呼叫的 callback 事件。無預設 function。使用範例:

callback: function (data) { 

  $("#msg").html("目前輸入:" + data.input + "/" + data.max + " 還剩:" + data.left + "字元"); 

}

回傳的 Object 中擁有三個屬性:

  • input:目前輸入的字數,會依 isByte 的 true or false 而改變計算方式。
  • max:最大限制的字數,會依 isByte 的 true or false 而改變計算方式。
  • left:剩餘可輸入的字數,會依 isByte 的 true or false 而改變計算方式。

原始碼下載 Source (GitHub)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *