JS判斷字符串字節(jié)數(shù)并截取長度的方法

字號:


    本文實例講述了JS判斷字符串字節(jié)數(shù)并截取長度的方法。分享給大家供大家參考,具體如下:
    這是在項目制作中,積累到的一個東西,感覺效果還可以,現(xiàn)在貼上效果:
    名單
    那么,在頁面上,我們需要檢測兩個東西,一個就是字節(jié)數(shù),一個就是字符數(shù)。
    由于數(shù)據(jù)庫中,要求title的長度字節(jié)數(shù)為200,那么具體的js代碼如下:
    /*************************************************************************
    * CodeBy:SCY CodeDate:2011年3月11日 12:01:16 
    * DESC:主要是用來判斷當前輸入的字節(jié)數(shù),以便做到限制輸入標題的長度功能
    **************************************************************************/
    var matchWords;
    function notifyTextLength() {
      var inputNum = document.getElementById("txtTitle").value.replace(/[^\x00-\xff]/g, "**").length; //得到輸入的字節(jié)數(shù)
      if (inputNum <= 200) {
        matchWords = document.getElementById("txtTitle").value.length;
        document.getElementById("inputedWord").innerHTML = inputNum + "字節(jié)," + matchWords + "字符";
        document.getElementById("inputtingWord").innerHTML = (200 - inputNum) + "字母,"+(Math.round(((200-inputNum)/2)-0.5))+"漢字";
      }
      if (inputNum > 200) {
          document.getElementById("txtTitle").value = document.getElementById("txtTitle").value.substring(0, matchWords); //如果超過200字節(jié),就截取到200字節(jié)
        }
    }
    其中,matchWords代表的是當字節(jié)數(shù)小于200的情況下,匹配的字符的個數(shù);inputNum則是輸入的字節(jié)數(shù)。
    當標題輸入的字節(jié)數(shù)大于200的時候,就按照字符個數(shù)進行截取。
    html代碼如下:
    <input id="txtTitle" type="text" runat="server" onpropertychange="notifyTextLength();" />
    當前已經(jīng)輸入<span id="inputedWord"></span>
    還可以輸入<span id="inputtingWord"></span>
    希望本文所述對大家JavaScript程序設(shè)計有所幫助。