1 // 根据字节数截取字符串(可汉英组合截取)
2 function GetString(val,num)
3 {
4 var byteLength=num;// 用户需截取字节数
5 var index=0;// 最终截取字符串索引
6 var strVal="";// 返回值
7 var iszh=false;// 判断循环最后一次执行时字符是全角还是半角
8 for(var i=0;i<val.length;i++){
9 if(num>0){
10 if(val.substring(i, i + 1).match(/[^\x00-\xff]/ig) != null){
11 num=num-2;
12 index=i;
13 iszh=true;
14 }
15 else{
16 num=num-1;
17 index=i+1;
18 iszh=false;
19 }
20 }
21 }
22 strVal = iszh == true ? val.substring(0,index+1) : val.substring(0,index);
23 if(iszh==true)
24 {
25 if(GetStringByteLength(strVal)>byteLength){
26 strVal=strVal.substring(0,strVal.length-1);
27 }
28 }
29
30 return strVal;
31 }