这两天在做birt报表的时候,写了一个用于处理字符串的js. 留以后做参考,能将一长串字符串,分解成行和段落,使得每一行包含的字符包括空格相等,达到整体美观的效果。
var account = 3;
var temp = "1、";
var start = 0;
var amount =86;
var startline =0;
var endline = 6;
var xuhao = 1;
var str = dataSetRow["description"];
var linetem = 0;
var sum = start;
var flag = false;
if(str==null||str.length<1)
str = " ";
for (i = 0; i < amount + 2; i++) {
if (str.length >= (sum) && str.charCodeAt(sum) > 255) {
account += 2;
if (account == amount + 1)
temp = temp + " ";
else if(account == amount + 2)
temp = temp + " ";
} else {
if(str.length >= (sum) && (str.charCodeAt(sum) == 13||str.charCodeAt(sum) == 10)){
flag = true;
}
account += 1;
if (account == amount + 1)
temp = temp + " ";
}
if (account <= amount) {
if (linetem >= startline) {
if (str.length >= sum && str.substr(sum,1).length!=0&&flag==false)
{ temp = temp + str.substr(sum,1) ;
sum += 1;
}
else {
temp = temp + " "
if(flag == false)
{sum += 1;
}
}
}
} else if (linetem < endline && linetem >= startline) {
i = 0;
account = 0;
temp = temp + "\n";
linetem += 1;
if(flag == true){
account = 3;
xuhao = xuhao + 1;
temp = temp + xuhao+"、";
flag = false;
sum += 1;
}
start = sum;
} else if (linetem < startline) {
linetem += 1;
flag = false;
i = 0;
account = 0;
start = sum;
} else if (linetem >= endline)
break;
}
temp