JS 判断字符串字节长度的简单示例(数字英文长度为1,中文为2)

前端之家收集整理的这篇文章主要介绍了JS 判断字符串字节长度的简单示例(数字英文长度为1,中文为2)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
你早晚会用到的,用CSS来控制文字长度毕竟不是什么需求都能满足,现在后台也不管字符长度截取了,只能用JS来截取字符串了。
  1. // 来自:编程之家 jb51.cc(jb51.cc)
  2. /**
  3. * 返回字符的字节长度(汉字算2个字节)
  4. * @param {string}
  5. * @returns {number}
  6. */
  7. var getByteLen = function (val) {
  8. var len = 0;
  9. for (var i = 0; i < val.length; i++) {
  10. if (val[i].match(/[^\x00-\xff]/ig) != null) //全角
  11. len += 2;
  12. else
  13. len += 1;
  14. };
  15. return len;
  16. }
  17. var sAbc = 1a啊啊223地方a’;
  18. var ol = getByteLen(sAbc);
  19. alert(‘直接用length取得的字节长度:’ + sAbc.length);
  20. alert(‘通过getByteLen()方法取得的字节长度:’ + ol);

通过上面的方法就可以继续写一个截取指定长度的新字符串了,截取掉的部分用…补全:
  1. // 来自:编程之家 jb51.cc(jb51.cc)
  2. /**
  3. * 返回字符的字节长度(汉字算2个字节)
  4. * @param {string}{number}
  5. * @returns {string} +’…’
  6. */
  7. var cutStrForNum = function (str,num) {
  8. var len = 0;
  9. for (var i = 0; i < str.length; i++) {
  10. if (str[i].match(/[^\x00-\xff]/ig) != null) //全角
  11. len += 2;
  12. else
  13. len += 1;
  14. }
  15. if (len >= num) {
  16. newStr = str.substring(0,num) + "…";
  17. }
  18. return newStr;
  19. }
  20. var sAbc = 1a啊啊223地方a’;
  21. alert(cutStrForNum(sAbc,3));

猜你在找的JavaScript相关文章