JavaScript实现字符串字节数检测与长度截取

作者:拾光

时间:2026-10-29

浏览:278

本文介绍在JavaScript中如何检测字符串的字节数并实现长度截取。通过计算字符对应的字节长度,当输入内容超过指定字节限制(如200字节)时,自动按字符个数进行截取,确保存入数据库的标题长度符合要求。

文章目录

JavaScript实现字符串字节数检测与长度截取

本文介绍一种在JavaScript中判断字符串字节数并截取长度的实现方法,供读者参考。

该功能源于实际项目开发中的需求,经测试效果良好,现分享具体实现细节。

JavaScript实现字符串字节数检测与长度截取

在页面交互中,主要需要监控两个指标:字符串的字节数和字符数。

假设数据库对标题字段的长度限制为200字节,具体的JavaScript实现代码如下。


/*************************************************************************
* 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遍历算法与技巧总结》及《JavaScript数学运算用法总结》。

希望上述内容能对从事JavaScript程序设计的开发者有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章