js截取中英文字符串、标点符号无乱码示例解读

  

复制代码 代码如下:

  <script>

  function subString(str, len, hasDot)

  {

  var newLength = 0;

  var newStr = "";

  var chineseRegex = /[^\x00-\xff]/g;

  var singleChar = "";

  var strLength = str.replace(chineseRegex,"**").length;

  for(var i = 0;i < strLength;i++){

  singleChar = str.charAt(i).toString();

  if(singleChar.match(chineseRegex) != null){

  newLength += 2;

  }else{

  newLength++;

  }

  if(newLength > len){

  break;

  }

  newStr += singleChar;

  }

  if(hasDot && strLength > len){

  newStr += "...";

  }

  return newStr;

  }

  alert(subString("js截取中英文字符串无乱码",10,true));

  </script>