论坛风格切换
您好,欢迎光临本站!   登录 注册新用户
  • 2576阅读
  • 0回复

[Javascript]Web报表工具FineReport的JS开发之字符串 [复制链接]

上一主题 下一主题
 
发帖
62
黑豆
286
威望
283
贡献值
0
交易币
0
红豆
0
只看楼主 倒序阅读 0 发表于: 2016-03-31
在报表开发过程中,有些需求可能无法通过现有的功能来实现,需要开发人员二次开发,以FineReport为例,可以使用网页脚本、API接口等进行深入的开发与控制。
考虑到JS脚本开发的使用较多,这里先先简单介绍如何用JS对字符串进行操作,比如如何判断字符串是否为空,字符串的长度,替换,查找,截取,或者将字符串转换为其他类型等。
1. 字符串的长度
1.1 返回字符串长度
获取字符串长度,可以使用字符串对象的length属性。例如:
  1. var txt= "Hello FR";
  2. txt.length;       //返回长度

就会返回8

1.2 字符串的判空
字符串为空,即字符串长度为0,若要实现判空,可以用如下方法:
  1. if(txt.length==0||txt=='')
  2. return true;     //为空
  3. else
  4. return false;     //不为空

这里,txt.length==0 txt==''只需要满足一个即可

2. 字符串的替换
字符串 stringObject replace() 方法执行的是查找并替换的操作。它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 replacement 来替换这些子串。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。
这里举个字符串替换的例子:
  1. var txt="Visit FR!";
  2. txt.replace(/Visit/, "Hello");

结果将返回Hello FR!

3. 字符串的查找
search(regexp) 方法用于检索字符串中指定的子字符串,他将返回stringObject 中第一个与 regexp 相匹配的子串的起始位置。
如果没有找到,将返回-1.
但是,search方法无法查找全局,只查找第一个出现的匹配字符串。

4. 字符串的截取
我们可以用substr(start,length)方法来提取一个字符串中的部分内容。
其中start是起始,提取长度为length的新字符串。
举个例子
  1. var txt="Visit FR!";
  2. txt.substr(6,2);    //从第六个开始去两个

上述结果将返回FR
字符串下标从0开始,如果start为负,则默认从头开始提取。

5. 字符串的连接
可以通过字符串的concat(str1,str2...) 方法将多个字符串连接起来
比如
  1. var str1="hello";
  2. var str2="FR";
  3. str1.concat(str2);

结果将返回hello FR

6. 字符串类型转换
6.1 将字符串转换为数值
可以直接用强制转换。
如果是转换为浮点数,则为parseFloat(str)
如果转换为整数型,则为parseInt()

6.2 将字符串转换为数组
可以使用字符串的split(separate)方法将字符串分割为数组。
separate为筛选字符串。
比如
  1. var str1="I love FR";
  2. var str2=str1.split(" ");

str2将存储为一个字符串数组,值分别为"I","love","FR"
快速回复
限100 字节
 
上一个 下一个