首页 > 代码库 > JS显示指定字符数,避免一个中文两个字符的情况

JS显示指定字符数,避免一个中文两个字符的情况

0x00

  level: 0x01

0x01

代码如下:

<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <body><script type="text/javascript">var txt = "Aa要a国a啊b不a";document.write("<br>");document.write(getSubStr(txt, 4));/** * 返回指定显示字符数的函数(考虑中文和大写) * 默认10个字符 * 中文和大写占两个字符 * 可能会返回 count + 1 个字符 * * @param endIndex demo中传了4 */function getSubStr(str, endIndex){  var dualRegex = /[A-Z\u4e00-\u9fa5]/g;  var substr = str.substring(0, endIndex);  var dualNum = substr.match(dualRegex) == null ? 0 : substr.match(dualRegex).length;  var count = dualNum * 2 + (substr.length - dualNum);  // document.write(count + "...");  if (str.length == substr.length)// 是原来那个字符时,直接返回原来的    return str;  if (count >= 10)// 显示字符数量    return substr + (str.length == substr.length ? "" : "...");  return getSubStr(str, endIndex + 1);}</script></body></html>

  

JS显示指定字符数,避免一个中文两个字符的情况