首頁 >web前端 >js教程 >JS判斷字串位元組數並截取長度的方法_javascript技巧

JS判斷字串位元組數並截取長度的方法_javascript技巧

WBOY
WBOY原創
2016-05-16 15:12:082842瀏覽

本文實例講述了JS判斷字串位元組數並截取長度的方法。分享給大家參考,具體如下:

這是在專案製作中,累積到的東西,感覺效果還可以,現在貼上效果:

那麼,在頁面上,我們要偵測兩個東西,一個就是位元組數,一個就是字元數。

由於資料庫中,要求title的長度位元組數為200,那麼具體的js程式碼如下:

/*************************************************************************
* CodeBy:SCY CodeDate:2011年3月11日 12:01:16 
* DESC:主要是用来判断当前输入的字节数,以便做到限制输入标题的长度功能
**************************************************************************/
var matchWords;
function notifyTextLength() {
  var inputNum = document.getElementById("txtTitle").value.replace(/[^\x00-\xff]/g, "**").length; //得到输入的字节数
  if (inputNum <= 200) {
    matchWords = document.getElementById("txtTitle").value.length;
    document.getElementById("inputedWord").innerHTML = inputNum + "字节," + 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字节,就截取到200字节
    }
}

其中,matchWords代表的是當位元組數小於200的情況下,匹配的字元的個數;inputNum則是輸入的位元組數。

當標題輸入的位元組數大於200的時候,就依照字元個數進行截取。

html程式碼如下:

<input id="txtTitle" type="text" class="inputText" runat="server" onpropertychange="notifyTextLength();" />
当前已经输入<span id="inputedWord" style="color:red"></span>
还可以输入<span id="inputtingWord" style="color:Red;"></span>

更多關於JavaScript相關內容有興趣的讀者可查看本站專題:《JavaScript查找演算法技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調試技巧總結》、《JavaScript資料結構與演算法技巧總結》、《JavaScript遍歷演算法與技巧總結》及《Java數學運算用法總結

希望本文所述對大家JavaScript程式設計有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn