本文實例講述了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:主要是用來判斷當(dāng)前輸入的字節(jié)數(shù),以便做到限制輸入標(biāo)題的長度功能
**************************************************************************/
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代表的是當(dāng)字節(jié)數(shù)小于200的情況下,匹配的字符的個數(shù);inputNum則是輸入的字節(jié)數(shù)。
當(dāng)標(biāo)題輸入的字節(jié)數(shù)大于200的時候,就按照字符個數(shù)進(jìn)行截取。
html代碼如下:
<input id="txtTitle" type="text" class="inputText" runat="server" onpropertychange="notifyTextLength();" />
當(dāng)前已經(jīng)輸入<span id="inputedWord" style="color:red"></span>
還可以輸入<span id="inputtingWord" style="color:Red;"></span>
希望本文所述對大家JavaScript程序設(shè)計有所幫助。