在报表开发过程中,有些需求可能无法通过现有的功能来实现,需要开发人员二次开发,以FineReport为例,可以使用网页脚本、API接口等进行深入的开发与控制。
考虑到JS脚本开发的使用较多,这里先先简单介绍如何用JS对字符串进行操作,比如如何判断字符串是否为空,字符串的长度,替换,查找,截取,或者将字符串转换为其他类型等。
1.?字符串的长度
1.1?返回字符串长度
获取字符串长度,可以使用字符串对象的length属性。例如:
?
var txt= "Hello FR"; txt.length; //返回长度
?
就会返回8
?
1.2?字符串的判空
字符串为空,即字符串长度为0,若要实现判空,可以用如下方法:
?
if(txt.length==0||txt==‘‘) return true; //为空 else return false; //不为空
?
这里,txt.length==0?或txt==‘‘只需要满足一个即可
?
2.?字符串的替换
字符串?stringObject?的?replace()?方法执行的是查找并替换的操作。它将在?stringObject?中查找与?regexp?相匹配的子字符串,然后用?replacement?来替换这些子串。如果?regexp?具有全局标志?g,那么?replace()?方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。
这里举个字符串替换的例子:
?
var txt="Visit FR!"; txt.replace(/Visit/, "Hello");
?
结果将返回Hello FR!
?
3.?字符串的查找
search(regexp)?方法用于检索字符串中指定的子字符串,他将返回stringObject?中第一个与?regexp?相匹配的子串的起始位置。
如果没有找到,将返回-1.
但是,search方法无法查找全局,只查找第一个出现的匹配字符串。
?
4.?字符串的截取
我们可以用substr(start,length)方法来提取一个字符串中的部分内容。
其中start是起始,提取长度为length的新字符串。
举个例子
?
var txt="Visit FR!"; txt.substr(6,2); //从第六个开始去两个
?
上述结果将返回FR
字符串下标从0开始,如果start为负,则默认从头开始提取。
?
5.?字符串的连接
可以通过字符串的concat(str1,str2...)?方法将多个字符串连接起来
比如
?
var str1="hello"; var str2="FR"; str1.concat(str2);
?
结果将返回hello FR
?
6.?字符串类型转换
6.1?将字符串转换为数值
可以直接用强制转换。
如果是转换为浮点数,则为parseFloat(str)
如果转换为整数型,则为parseInt()
?
6.2?将字符串转换为数组
可以使用字符串的split(separate)方法将字符串分割为数组。
separate为筛选字符串。
比如
?
var str1="I love FR"; var str2=str1.split(" ");
?
?
str2将存储为一个字符串数组,值分别为"I","love","FR"
原文:http://bikang66666.iteye.com/blog/2287746