码迷,mamicode.com
首页 > 编程语言 > 详细

Javascript 中英文字符串截取

时间:2015-09-17 13:35:20      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

 1 /**
 2   * 中英文字符串截取
 3   * @param str  要截取的字符串
 4   * @param len  要截取的长度
 5   * @param hasDot 是否在字符串末尾增加‘...‘
 6   * @returns {string}
 7   *
 8   */
 9           
10 function mySubString (str, len, hasDot){
11         var newLength = 0;
12         var newStr = "";
13         var chineseRegex = /[^\x00-\xff]/g;
14         var singleChar = "";
15         var strLength = str.replace(chineseRegex,"**").length;
16         for(var i = 0;i < strLength;i++)     {
17           singleChar = str.charAt(i).toString();
18           if(singleChar.match(chineseRegex) != null) {
19             newLength += 2;
20           }else {
21             newLength++;
22           }
23           if(newLength > len) {
24             break;
25           }
26           newStr += singleChar;
27         }
28         if(hasDot && strLength > len) {
29           newStr += "...";
30         }
31         return newStr;
32     }

 

举个例子,假如需要最多保留24个字符(中文算两个,英文算一个)

 

$(‘#inupt‘).on(‘keyup‘,function(){
    var newValue = $(this).val();
    var textLength = 0;
    var subStr;

    for (var i = 0; i < newValue.length; i++) {
      if (newValue.charAt(i).match(/[\u0391-\uFFE5]/)) {
        textLength += 2;
      } else {
        textLength++;
      }
    };

    if (textLength>24){
        subStr = mySubString(newValue,24);
        $(this).val(subStr);
    }

})

 

Javascript 中英文字符串截取

标签:

原文地址:http://www.cnblogs.com/raincha/p/4815966.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!