在報表開發過程中,有些需求可能無法通過現有的功能來實現,需要開發人員二次開發,以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(" ");