Web报表工具FineReport的JS开发之字符串

时间:2023-09-15 11:07:19

在报表开发过程中,有些需求可能无法通过现有的功能来实现,需要开发人员二次开发,以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(" ");